作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下使用 osascript
命令的 shell 脚本:
#!/usr/bin/osascript
on run argv
tell application "Terminal"
activate
do script "echo " & quoted form of (item 1 of argv) & " " & quoted form of (item 2 of argv)
end tell
end run
但是当我运行时,代码仅限于打印 2 个第一个参数。
例如运行 ./test.sh foo bar buzz ...
时,我希望显示所有参数。
如何将上述代码转换为支持多个无限数量的参数?当我指定 none 时它不会中断?
最佳答案
你必须添加一个重复循环来将参数列表映射到它们的 quoted form
然后用 text item delimiters
将列表加入一个以空格分隔的字符串
#!/usr/bin/osascript
on run argv
set argList to {}
repeat with arg in argv
set end of argList to quoted form of arg
end repeat
set {TID, text item delimiters} to {text item delimiters, space}
set argList to argList as text
set text item delimiters to TID
tell application "Terminal"
activate
do script "echo " & argList
end tell
end run
关于macos - 如何将多个参数传递给 osascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915301/
我是一名优秀的程序员,十分优秀!