Answers:
~/.bash_profile
如果您使用bash或~/.zshrc
zsh,请将其添加到您的文件中,以更改COMMANDS
数组的内容:
function openterms() {
COMMANDS=("source bin/activate" "add another here" "continue likewise")
for command in $COMMANDS
do osascript -e \
"tell application \"Terminal\" to do script with command \"$command\""
done
}
现在调用openterms
外壳程序将打开您想要的所有其他外壳程序。
我正在使用Keyboard Maestro。我曾经录制过一个宏,该宏以我喜欢的方式设置Terminal(我正在使用iTerm,但没关系),并使该宏通过启动iTerm来触发。
因此,当我启动时,它会根据需要进行设置。两个窗口,一个在不同文件夹中的五个选项卡,每个选项卡均已适当命名,另一个窗口,其中两个选项卡连接到我的服务器,其中一个启动监视脚本。所有这些操作都在终端启动后2秒钟内完成,这通常需要一分钟或更长时间。
现在,我不害怕在需要时关闭iTerm,因为我可以毫不费力地在相同状态下重新打开它。
顺便说一句,Keyboard Maestro也适用于许多其他方面。我最近在mupromo.com上以折扣价购买了它,这是我第一次在这里发现它,但我认为它也值得其全价。
如Josh K所述,您可以创建一个窗口组以打开一个或多个具有特定布局和外观的窗口。另外,“设置配置文件”(“终端”>“首选项”>“设置”)可以指定使用该配置文件创建终端时要运行的命令。您可以为要运行的每个命令创建一个单独的配置文件,然后使用这些配置文件创建窗口。当您将它们保存到窗口组并再次打开它们时,这些命令将在其相应的窗口中运行。您甚至可以让终端在启动时打开特定的窗口组。
从Mac OS X Lion 10.7开始,在此领域有几项新改进:
Resume将自动还原退出Terminal时打开的窗口,因此不再严格需要使用窗口组(尽管如果您关闭了窗口,它们可以让您重新创建特定的设置)。
如果使用Shell> New Command创建新终端,由于Terminal知道您运行的命令,因此可以通过再次运行它来还原它。现在,终端将在恢复时自动恢复“安全”命令†。
如果将这些类型的终端保存到窗口组中,终端也会还原这些命令。此外,在保存窗口组时,可以选择还原所有命令,而不仅仅是“安全”命令。因此,您不再需要为要运行的每个命令创建单独的设置配置文件。
†“安全”命令包括/etc/shells
,emacs,vi / vim,nano,pico,top,screen,tmux中列出的所有内容,以及使用Shell> New Remote Connection创建的任何命令(例如ssh会话)。注意,当与参数一起使用时,只有top被认为是“安全的”。其他的则支持参数,这些参数可能会执行您不希望在没有用户确认的情况下执行的操作,因此,除非在没有参数的情况下调用它们,否则它们不会被视为自动恢复的“安全”方法。您可以使用“默认写入com.apple.Terminal RestorableCommands”来自定义“安全”命令的列表。该值是包含命令名称的字符串列表。要指示允许使用参数,请在命令后添加星号。例如,与参数一起使用时,“ top *”使top安全,但“ top”则不然。