3
กฎสำหรับเรียกใช้ subshell ใน Bash?
ฉันดูเหมือนจะเข้าใจผิดกฎของ Bash ในการสร้าง subshell ฉันคิดว่าวงเล็บจะสร้าง subshell เสมอซึ่งจะทำงานเหมือนกระบวนการของตัวเอง อย่างไรก็ตามนี่ไม่ใช่กรณี ใน Code Snippet A (ด้านล่าง) sleepคำสั่งที่สองไม่ได้ทำงานในเชลล์แยกต่างหาก (ตามที่กำหนดโดยpstreeเทอร์มินัลอื่น) อย่างไรก็ตามใน Code Snippet B sleepคำสั่งที่สองจะทำงานในเชลล์แยกต่างหาก ความแตกต่างเพียงอย่างเดียวระหว่างตัวอย่างก็คือตัวอย่างที่สองมีสองคำสั่งภายในวงเล็บ มีใครบ้างที่โปรดอธิบายกฎสำหรับตอนที่สร้าง subshells รหัส SNIPET A: sleep 5 ( sleep 5 ) รหัส SNIPET B: sleep 5 ( x=1 sleep 5 )