最近、bash スクリプトを使用して自分用のターミナル ワークスペースを設定し始めましたが、最初の数日間はすべて正常に動作しました。スクリプトを実行すると、4 つ、5 つ、または 7 つのターミナルがすべて画面上の正確な場所にポップアップ表示され、適切なディレクトリに cd されて、すぐに使用できるようになります。
今朝、conky をインストールし、次にスクリプトを実行しようとしたときに、奇妙なことが起こりました。今では最初のウィンドウだけが開きます。そのウィンドウを閉じると、2 番目のウィンドウが開きます。そのウィンドウを閉じると、3 番目のウィンドウが開き、スクリプトの最後まで続きます。
そのため、私のスクリプトは、ターミナルにコピーして貼り付けるためのペーストボードとして使用する以外は役に立たなくなりました。
これが私のスクリプトです:
#!/bin/bash
if [ $1 = "deploy" ]; then
cd ~/
gnome-terminal --geometry=185x41+0+0 --window-with-profile=Colquhoun
cd ~/Utilities/Ad\ Tag\ Generators
gnome-terminal --geometry=85x15+1312+0 --window-with-profile=Generator
cd ~/Utilities
gnome-terminal --geometry=85x28+1312+280 --window-with-profile=Deployer
cd ~/Staging
gnome-terminal --geometry=85x20+1312+730 --window-with-profile=Monitor
fi
if [ $1 = "servers" ]; then
cd ~/
gnome-terminal --geometry=89x20+0+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+640+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x65+1280+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+0+360 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+640+360 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+0+700 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x20+640+700 --window-with-profile=Colquhoun
fi
if [ $1 = "logchecks" ]; then
cd ~/
gnome-terminal --geometry=89x65+0+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x65+640+0 --window-with-profile=Colquhoun
gnome-terminal --geometry=89x65+1280+0 --window-with-profile=Colquhoun
fi
なぜこのようなことが起こるのか知っている人はいますか? また、以前は起こらなかったのに今は起こっているのはなぜですか?
答え1
&
各ターミナルがバックグラウンドで起動するように、各コマンドの最後に を追加しますgnome-terminal
。ターミナルを早めに終了していない場合は、conky が終了してすべての子プロセスが終了すると、ターミナルも終了します。