非常にシンプルな(しかし私にとっては便利な)bashスクリプトを作成しました。私が手動で開いていたいくつかのアプリケーションを開くだけです。コードは次のとおりです。
#!/bin/bash
netbeans &
mysql-workbench &
opera &
chromium-browser &
ターミナルを閉じると、スクリプトによって開かれたアプリケーションが実行され続けます。これは正常です、それが「&」の意味です。
私の質問は、これらのアプリケーションを自動的に実行し、自動的に閉じる方法はありますか?まだ端末に接続されている場合は閉じますが、アンパサンドを削除すると、最初のアプリケーションのみが実行されます。
ありがとう
これらの2つの関数は、.bashrc
ファイルから使用して、それらを起動および閉じることができます。単にlapp
およびkapp
で呼び出します。
lapp(){
netbeans &
mysql-workbench &
opera &
chromium-browser &
}
kapp() {
pkill 'netbeans|mysql-workbench|opera|chromium-browser'
}
#Or
kapp() {
killall 'netbeans|mysql-workbench|opera|chromium-browser'
}
情報:
source .bashrc
を実行することを忘れないでください(ソース: man pkill
)
これらのコマンドがスクリプト用に開始された分岐したシェルではなく、現在のシェルで実行されるように、スクリプトをソースする必要があります。
. ./foo.sh
次に、これらのバックグラウンドプロセスは、シェルのジョブ制御の一部になります。
関数を使用する方が簡単かもしれません。たとえば、bashrcに次を追加します。
foo () {
netbeans &
mysql-workbench &
opera &
chromium-browser &
}
次に、bashからfoo
を実行すると、現在のシェルでコマンドが実行されます。