/ / Jak przekazać zmienną ze skryptu powłoki do applescript - shell, applescript

Jak przekazać zmienną ze skryptu powłoki do applescript - shell, applescript

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 № 1

Istnieją trzy rozwiązania:

  1. Użyj "" zamiast "", aby $ var został rozszerzony przez powłokę

  2. 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.

  3. 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"}"