これは機能します (たとえば、「3 つの引数」が出力されます)。
to run argv
do shell script "echo " & (count argv) & " arguments"
end run
これはそうではありません (「Argument 3: three」のみを出力し、前の 2 つの引数は出力しません):
to run argv
do shell script "echo " & (count argv) & " arguments"
repeat with i from 1 to (count argv)
do shell script "echo 'Argument " & i & ": " & (item i of argv) & "'"
end repeat
end run
どちらの場合も、osascript
Mac OS X 10.5.5 を使用してスクリプトを実行しています。呼び出しの例:
osascript 'Script that takes arguments.applescript' Test argument three
出力をリダイレクトしていないので、スクリプトがエラーをスローしていないことがわかります。
display dialog
の上にステートメントを追加するdo shell script
と、「ユーザーの操作は許可されていません」というエラーがスローされるため、ループ本体を実行していることがわかります。
私は何を間違っていますか?このループで osascript が何も出力しない原因は何ですか?