タグ付けされた質問 「subshell」

6
$$が親プロセスと同じIDを返すのはなぜですか?
Bashに問題があり、その理由がわかりません。 シェルの下で、次のように入力します。 echo $$ ## print 2433 (echo $$) ## also print 2433 (./getpid) ## print 2602 「getpid」は、次のように現在のpidを取得するCプログラムです。 int main() { printf("%d", (int)getpid()); return 0; } 私を混乱させるのはそれです: 「(コマンド)」はサブプロセスだと思います(正しいですか?) プログラムを使用して括弧内のpidを表示すると、表示されるpidが異なりますか? 「$$」はマクロのようなものですか? 手伝って頂けますか?
159 bash  shell  pid  subshell 

5
どのように呼び出されても、実行全体を中止するbash関数を作成する方法はありますか?
bash関数で「exit1」ステートメントを使用してスクリプト全体を終了していましたが、正常に機能しました。 function func() { echo "Goodbye" exit 1 } echo "Function call will abort" func echo "This will never be printed" しかし、次のように呼び出された場合、それは機能しないことに気づきました。 res=$(func) サブシェルを作成し、「exit 1」がプライマリではなく、そのサブシェルを中止することを理解しています。 しかし、どのように呼び出されても、実行全体を中止する関数を作成する方法はありますか?実際の戻り値を取得する必要があります(関数によってエコーされます)。
83 bash  function  exit  subshell 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.