source script
または. script
のようなbashスクリプトをコマンドラインから実行すると、スクリプト内のすべての行がbashの "ソースバッファ"に追加され、現在のコマンドシェルだけが続行されます。実行を停止することは不可能です(シェルを中断することは別として)、ctrl-Cを使うと現在のコマンドだけが中断されますが、次のコマンドが実行されます。bash "ソースバッファ"の消去
このバッファはどこにありますか?それをクリアすることは可能でしょうか?
スクリプト例:「ソースのスクリプト」を行わした後
echo A
sleep 10
echo B
sleep 10
echo C
sleep 10
echo D
、それは「提出」された後の任意のさらなる実行を停止する方法はありますか?
あなたの質問にスクリプトを追加してください。 – Cyrus
なぜ 'source'を使用していますか?これらの問題がある場合は、おそらく別のプロセスとして実行する必要があります。 – cdarke
スクリプトを実行した後、必要に応じてシェル内の変数を使用できるという便利さから、ソースを使用します。 問題があるわけではありませんが、私はこれに興味があります。私はreturn文が出るたびに残りのバッファは破棄されることを知っていますが、上記のようなスクリプトを提供していて、同じシェルに留まっている間に停止したい場合はどうでしょうか(現在の環境と変数)。 – PePa