我需要合并两个 osascript 脚本,这样我就可以用一个命令打开一个新的终端选项卡并echo hello
在该新选项卡中执行类似的脚本。
这将打开一个新的终端选项卡。
osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down'
这将打开一个新窗口并运行echo hello
osascript -e 'tell app "Terminal" do script "echo hello" end tell'
答案1
最简单的方法是使用“ttab”
https://www.npmjs.com/package/ttab
只需ttab 'ls -la'
在这里运行ls -la
我想在新选项卡中执行的命令。
注意:ttab
需要安装NPM
答案2
我不知道有没有更好的方法来创建新选项卡,但您可以使用 在最前面的选项卡或窗口中运行命令do script "" in window 1
。
tell application "Terminal"
activate
tell application "System Events" to keystroke "t" using command down
repeat while contents of selected tab of window 1 starts with linefeed
delay 0.01
end repeat
do script "echo a" in window 1
end tell
答案3
以下是我们使用的代码片段。我建议:
- 将其放入一个函数中,例如名为“tab”的函数
对于命令,使用传递给函数的变量
osascript -e "tell application \"Terminal\" to activate" \ -e "tell application \"System Events\" to keystroke \"t\" using {command down}" \ -e "do script \"echo hello\" in front window" \ -e "end tell" > /dev/null
答案4
尝试
osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' -e 'tell application "Terminal" to do script "echo hello" in tab 2 of window 1'