gpt4 book ai didi

macos - 如何将多个参数传递给 osascript?

转载 作者:行者123 更新时间:2023-12-04 01:10:00 27 4
gpt4 key购买 nike

我有以下使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com