是否有可能打开一个带有3个选项卡的终端窗口?每个选项卡应具有不同的路径。
示例:
Tab1: /etc
Tab2: /bin
Tab3: /www/ tail -f file.txt
这是完全可以做到的,但需要你付出一些努力。首先,你需要在设置中为每个想要的窗口/标签设置:
我有4个选项卡,每次打开终端时都会自动打开这些选项卡:DB Shell
、Editor
、Server
和Shell
。这些都在Sasquatch
项目内,因此命名方式如此。然后,每个选项卡都应该有一个唯一的命令与之关联:
在这种情况下,我正在执行vim
。如果你有一个特定的目录想要开始,你可以使用像vim ~/projects/main/
这样的命令。实际上,当它打开时,任何你想要输入的命令都是shell将执行的。现在你需要打开所有的窗口/标签:
Shell
菜单=> New Tab
/New Window
=> 选择上面创建的配置文件。Window
菜单=> Save Window As Group...
。窗口
菜单 => 打开窗口组
=> 选择刚才创建的组。这应该会弹出你刚刚拥有的所有窗口,处于同样的位置。在设置
中设置的每个命令都应该在它们各自的标签页中启动。
从 Mac OS X Lion 10.7 开始,终端使这个过程更加容易,无需为每个命令创建新配置文件。
默认情况下,终端将为窗口组中的每个终端记住并恢复当前工作目录。(如果使用转义序列向终端传递了工作目录。默认 shell bash 将在每个命令提示符处执行此操作。对于其他 shell,您需要在 /etc/bashrc 中自己编写代码。)
如果您使用 Shell > New Command 创建一个终端,当打开窗口组时,终端将自动运行该命令。终端将自动运行一组“安全”的命令†,并在保存窗口组时提供运行所有命令的选项。
重新启用 Resume 选项后,终端还会自动为所有窗口执行上述操作。因此,根据您的情况,您甚至可能无需创建窗口组。
对于您的实例:
每次打开该窗口组时,它都会重新创建这些窗口并运行命令。如果您需要运行一个命令并指定起始目录,在 New Command 对话框中勾选“在 shell 内部运行命令”复选框,并将命令设置为 "cd; "。
还请注意,您可以告诉终端在启动时使用 Terminal > Preferences > Startup > On startup, open > Window group 打开您的窗口组。甚至在保存新窗口组时还有一个复选框可供设置。
†“安全”命令包括在/etc/shells中列出的任何内容,以及:screen、tmux、emacs、vi/vim、nano、pico和top。您可以使用“defaults write com.apple.Terminal RestorableCommands”自定义列表。将其设置为包含命令名称或完整路径的字符串数组。某些命令具有参数,在没有用户干预的情况下自动运行是“不安全”的,因此默认情况下,这些命令只有在没有任何参数的情况下才被认为是“安全”的。要使带有参数的命令可以安全运行,请添加一个星号,例如,“top*”是此首选项的默认值。
我建议使用iTerm而不是Terminal。因为它更加可配置。你可以编写脚本,但对你更重要的是,你可以创建一个书签文件夹(每个标签页一个),然后“在标签页中打开”,这将给你想要的行为。
我猜你也可以控制要执行的命令。我使用的其中一个程序创建了一个单标签终端窗口,并安排在继续到命令提示符之前执行配置文件设置脚本 - 对于多标签终端来说应该也是可行的。该文件是MacOS X属性XML文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandString</key>
<string>. /Applications/IBM/informix/demo/server/profile_settings</string>
<key>FontAntialias</key>
<false/>
<key>RunCommandAsShell</key>
<false/>
<key>ShowShellCommandInTitle</key>
<true/>
<key>TerminalType</key>
<string>xterm</string>
<key>WindowTitle</key>
<string>IDS Command Window</string>
<key>name</key>
<string>IDS Command Window</string>
<key>type</key>
<string>Window Settings</string>
</dict>
</plist>
您可以单击它,启动终端窗口,设置配置文件,然后就可以在命令提示符处输入命令。假设将“点”命令更改为问题中的“tail
”命令将起作用;也许将“RunCommandAsShell
”键设置为“<true\>
”将替换正常的 shell 命令 - 这可能更适合该问题。
如何创建自定义iTerm2窗口布局
创建一个自定义的键盘快捷方式,以自动产生一组运行进程的窗口和分割。
使用快捷键cmd+shift+w将您的窗口布局转换为3个面板。
打开你想要的选项卡,并按照你的意愿设置每个选项卡,例如在选项卡1中输入cd /etc
,在选项卡2中输入cd /bin
等等。现在转到“窗口”>“保存窗口组”。勾选“终端启动时使用窗口组”复选框,完成!
http://www.iterm2.com/#/section/features/split_panes
"将选项卡分成多个窗格,每个窗格显示不同的会话。您可以垂直和水平切割,并以任何想象的方式创建任意数量的窗格。
"
cd
命令。但是,这些启动命令会覆盖设置为在相同目录中打开新选项卡,并导致Command-T再次运行启动命令以获取新选项卡。 - ma11hew28