Mam skrypt powłoki, który sprawdza, czy foldery mająustawioną liczbę plików i wyświetla komunikaty o błędach dla użytkownika. Używam applescript, aby wyświetlić komunikat o błędzie. Czy istnieje sposób przekazania zmiennych skryptu powłoki do AppleScript?
Oto co mam:
declare -i count=5;
osascript -e "tell app "Xcode" to display dialog "Counted $count items." buttons {"Continue"}"
Chcę, żeby to było wyjście Counted 5 items.
ale po prostu wychodzi Counted $count items.
Jak mogę przekazać zmienną skryptu powłoki do skryptu?
Odpowiedzi:
5 dla odpowiedzi № 1Istnieją trzy rozwiązania:
Użyj "" zamiast "", aby $ var został rozszerzony przez powłokę
Zamknij cytat, wstaw var i ponownie otwórz bez spacji (np. "String" $ var "reszta łańcucha"). Jest to jednak niebezpieczne, jeśli zmienna może zawierać spacje.
Użyj formalnych argumentów linii poleceń ze swoim skryptem AppleScript
2 dla odpowiedzi nr 2
Dla wyjaśnienia, to właśnie zrobiłem, aby to zadziałało.
declare -i count=5;
osascript -e "tell app "Xcode" to display dialog "Counted "$count" items." buttons {"Continue"}"