有没有办法打开一系列新的终端窗口,并在一个脚本中运行命令?

时间:2011-10-26 23:39:13

标签: macos bash unix terminal

我每天都会执行以下命令:

[0]启动终端

  1. 打开窗口 - > memcached
  2. 打开窗口 - > redis-server
  3. 打开窗口 - > memcached
  4. 打开窗口 - > devo
  5. 打开窗口 - > cd /some/path
  6. / some / path $ - > rails s --port=3002
  7. 打开窗口 - > cd /other/path
  8. / other / path $ - > rails s --port=3000
  9. 这些步骤可以在一个脚本中完成吗?每次重新启动系统时,我都会忘记这些步骤

2 个答案:

答案 0 :(得分:10)

创建一个AppleScript。你只需要运行applescript就可以为你完成所有这些:

tell application "Terminal"
    activate
    do script "memcached" in window 1
    do script "redis-server" -- Each do script opens a new window
    do script "memcached"
    do script "devo"
    do script "cd "
    do script "rails s --port=3002" in window 1 -- does script in last opened window
    do script "cd "
    do script "rails s --port=3000" in window 1 -- does script in last opened window
end tell

将其另存为应用程序,以便双击它以运行它。您也可以将其指定为在系统启动时启动,或者甚至指定为具有必要第三方程序的快捷方式。

答案 1 :(得分:0)

好吧,如果您不介意使用xterm作为终端,可以在shell脚本中执行此操作:

xterm -e $command

您还可以使用Mac独有的open命令:

open -a /Applications/Utilities/Terminal.app $command  #Full pathname to $command!

例如:

open -a /Applications/Utilities/Terminal.app /usr/bin/vim

作品。

您还可以使用shell脚本:

open -a /Applications/Utilities/Terminal.app /home/david/foo.sh

我还没想到的是如何打开需要命令行参数的命令。如果你必须这样做,你必须坚持xterm