web-dev-qa-db-ja.com

3つの端末を開き、それぞれに対して異なるコマンドを実行して、開発環境をセットアップします。

私はRuby on Rails Web開発者であり、開発環境を起動するために何度も繰り返します。あるかどうか疑問に思いました。スクリプトを書いたり、プログラム(quicksilverなど)などを使用して作業環境を稼働させることで、この繰り返しの一部を削除できる方法。quicksilverを使用してターミナルを開く方法を知っており、保存されたウィンドウもあります。グループ化して、3つまたは4つのペインを開きます。

次に自動的に実行したいのは、3つすべてを特定のディレクトリに移動させ、それぞれが異なるコマンドを実行することです。 1つはローカルサーバーを起動し、別のタブでバックグラウンドプロセスを開始します。もう1つはテキストメイトを開いてからコンソールセッションを開始し、最後の1つはsvn(またはgit)ステータスを実行します。そうそう、Firefoxを開いて、いくつかのタブをいくつかの場所に移動したいと思います。

クイックシルバーコマンドを1回実行するか、デスクトップ上のある種のスクリプトをダブルクリックするだけで、これらすべてを実現する方法について誰か提案がありますか?

6
taelor

まず、複数のターミナルウィンドウを設定できます。各ターミナルウィンドウはコマンドで起動できます。 [ターミナル]-> [設定]-> [設定]に移動し、開始するコマンドごとにウィンドウを作成します。次に、ターミナルには「ウィンドウグループ」の概念があります。開始するターミナルウィンドウを開き、[ウィンドウ]-> [ウィンドウをグループとして保存]を使用して、ウィンドウグループとして保存します。最後に、ウィンドウグループを使用してターミナルを起動できます。 [ターミナル]-> [設定]に戻り、今度は[開始]に移動します。 [開いた状態で開始]で、[ウィンドウグループ]を選択してから、作成したウィンドウグループを選択します。これにより、起動時に端末がそのグループを開始します。グループをキックオフできるようにしたいだけで、起動時にそれを実行したくない場合は、当然、最後の部分をスキップしてください。

6
user30569

Mac OSXで別のターミナルウィンドウを開くには、コマンドラインからcmd + Tを押すだけです。

3
Aaron Lelevier

私はこれがあなたを助けるかもしれないと思います

function tab() {
  while read hostname
  do
  {
    osascript 2>/dev/null <<EOF
    tell application "System Events"
      tell process "Terminal" to keystroke "t" using command down
    end
    tell application "Terminal"
      activate
      #do script with command "cd \"$PWD\"; $*" in window 1
      do script with command "ssh root@$hostname" in window 1
    end tell
EOF
  }
  done < "$1"
}

この関数を.bash_profileに追加してから、.bash_profileを取得し、tab hostnames.txtを使用して呼び出します。hostnames.txtは、sshキーペアがすでに存在することを前提として、ssh先のIPアドレスのリストを含むテキストファイルです。セットアップ。

参照: https://stackoverflow.com/questions/7171725/open-new-terminal-tab-from-command-line-mac-os-x/8188174#8188174

1
Sandeep Kanabar

ターミナルウィンドウグループは、複数のプロジェクトを実行している場合を除いて優れています。そうすると、少し面倒になり、より柔軟で強力なものを試してみることをお勧めします。

https://github.com/achiu/terminitor

これはRuby gemです

0
user53251