这有效(打印,例如,“3 个参数”):
to run argv
do shell script "echo " & (count argv) & " arguments"
end run
这不会(仅打印“参数 3:三个”,而不是前两个参数):
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 不打印任何东西的原因是什么?