制作一个小脚本,通过usb到终端的串行连接将我连接到某些cisco设备上的控制台。
但是我发现在文本和变量之间放置换行符或返回是不可能的(比如在HTML中使用< br>)。 因此,在显示对话框中,所有文本全部拼凑在一起。
我尝试使用\ n,\ \ n,将首选项更改为格式化>转义标签和换行字符串中断>检查。
所以任何帮助都会非常感激。
set theFind to "ls /dev/tty.*"
set theResult to do shell script theFind
set theConnection to text returned of (display dialog "Serial interface to availble:" & theResult & "Interface to use:" default answer "/dev/tty.usbserial")
tell application "Terminal"
activate
tell application "System Events"
delay 1
keystroke "screen " & theConnection & " 9600"
keystroke return
beep
end tell
end tell
答案 0 :(得分:0)
AppleScript没有使用换行符作为换行符(正如unix通常那样),它使用回车符。您可以使用tr '\n' '\r'
翻译它们(当然适当地转义)。此外,您需要在&之前手动添加退货。包含输出后;出于某些奇怪的原因,AppleScript使用\n
代替\r
。这是最终结果:
set theFind to "ls /dev/tty.* | tr '\\n' '\\r'"
set theResult to do shell script theFind
set theConnection to text returned of (display dialog "Serial interface to availble:\n" & theResult & "\nInterface to use:" default answer "/dev/tty.usbserial")
tell application "Terminal"
activate
tell application "System Events"
delay 1
keystroke "screen " & theConnection & " 9600"
keystroke return
beep
end tell
end tell