我正在尝试使用AppleScript将多行传递到终端。我想要做的是改变视频输入&输出一键。这是我到目前为止所做的,但似乎只有第一行执行而其他一切都被忽略了。我尝试使用多行do script
,但每个行都会打开一个新窗口。有什么建议吗?
on run {input, parameters}
tell application "Terminal"
do script "nc xxx.xxx.x.xxx 9990
VIDEO OUTPUT ROUTING:
0 3
1 15
2 15"
end tell
return input
end run
答案 0 :(得分:0)
我以前没有使用过{ provide: NZ_MESSAGE_CONFIG, useValue: {
nzDuration: 1500,
nzMaxStack: 1,
nzPauseOnHover: true,
nzAnimate: true } },
命令,因此我假设您演示的格式是可行的。按照这些方法进行,如果您需要为此命令打开物理 Terminal 窗口,则可以通过以下几种方式发送多行bash命令:
nc
或者:
tell application "Terminal"
do script "nc xxx.xxx.x.xxx 9990 << EOF
VIDEO OUTPUT ROUTING:
0 3
1 15
2 15
EOF"
end tell
如果不要求终端打开以运行此命令,则可以改为使用 tell application "Terminal"
do script "nc xxx.xxx.x.xxx 9990 \\
VIDEO OUTPUT ROUTING: \\
0 3 \\
1 15 \\
2 15"
end tell
:
do shell script
(请注意,没有 do shell script "nc xxx.xxx.x.xxx 9990 \\
VIDEO OUTPUT ROUTING: \\
0 3 \\
1 15 \\
2 15"
块,因为tell
是AppleScript标准添加之一。)
当我在上面的两个代码片段中使用Bash行继续符do shell script
时,脚本编辑器会将多行字符串重新格式化为一行,替换换行符与\
。它看起来很丑,但它代表相同的字符串。或者,您可以连接多个字符串,如下所示:
\n