Apple脚本不会显示换行符

时间:2016-01-12 01:24:14

标签: dialog applescript line-breaks display

制作一个小脚本,通过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

1 个答案:

答案 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