スクリプトを作成し、ここにデータを貼り付け、保存、実行、削除します。
vi ~/ms.sh && chmod +x ~/ms.sh && nohup ~/ms.sh && rm ~/ms.sh
#!/bin/bash
commands...
function myFunc {
commands...
}
myFunc ()
myFunc
バックグラウンドまたは他のプロセスで正しく実行するにはどうすればよいですか?できれば?
答え1
プログラムが利用可能なほぼどこでもシェル機能を使用できます。シェル関数は、その関数が作成された範囲外に存在しないことを覚えておいてください。
#!/bin/bash
#
f() {
sleep 1
echo "f: Hello from f() with args($*)" >&2
sleep 1
echo "f: Goodbye from f()" >&2
}
echo "Running f() in the foreground" >&2
f one
echo "Running f() in the background" >&2
f two &
echo "Just waiting" >&2
wait
echo "All done"
exit 0
答え2
&
で終わる他のシェルコマンドやスクリプトと同様に、バックグラウンドで実行できます。
(
Bashと同様のシェルを使用すると、コマンドをおよびと組み合わせることもできます)
。たとえば、次のようになります。
(command1; command2) &