可能是一个小语法问题,我弄错了,但在ITerm2文档中找不到解决方案。我想创建一个applescript,它打开一个带有三个选项卡的term窗口,每个选项卡运行各种shell命令(ls, cd, echo等),选项卡在这些命令运行后保持打开状态。打开选项卡部分工作正常,但似乎一旦命令运行,选项卡就会关闭(如果我不提供任何命令,选项卡将保持打开状态)。对于我的脚本:
tell application "iTerm2"
create window with default profile
tell current window
create tab with default profile command "echo abc"
create tab with default profile
end tell
end tell
而不是"echo abc",我应该把什么放在那里,这样echo命令将在选项卡中运行,但给我留下一个光标,让我输入更多的命令,而不是选项卡立即关闭?
不使用create tab ... command
,而是使用单独的write text
命令。例如,我用下面这个脚本打开一个终端到一个特定的目录:
tell application "iTerm"
create window with default profile
tell current session of current window
write text "cd " & directory & "; clear"
end tell
end tell
使用whereswalden建议的"write text",我决定如下,效果很好:
tell application "iTerm2"
create window with default profile
tell current window
tell current session
write text "echo abc"
end tell
create tab with default profile
tell current session
write text "ls -la"
end tell
create tab with default profile
tell current session
write text "cd mydir"
end tell
end tell
end tell