Göre , bu , çengelli parantez komutları listesini yerleştirilmesi geçerli kabuk bağlamında yürütülecek listesini neden olur. Alt kabuk oluşturulmaz .
ps
Bunu çalışırken görmek için kullanma
Bu, doğrudan komut satırında yürütülen bir işlem hattı için işlem hiyerarşisidir. 4398, giriş kabuğu için PID'dir:
sleep 2 | ps -H;
PID TTY TIME CMD
4398 pts/23 00:00:00 bash
29696 pts/23 00:00:00 sleep
29697 pts/23 00:00:00 ps
Şimdi doğrudan komut satırında yürütülen küme parantezleri arasındaki bir işlem hattı için işlem hiyerarşisini izler. 4398, giriş kabuğu için PID'dir. Her şeyin mevcut kabuk bağlamında yürütüldüğünü kanıtlayan yukarıdaki hiyerarşiye benzer :
{ sleep 2 | ps -H; }
PID TTY TIME CMD
4398 pts/23 00:00:00 bash
29588 pts/23 00:00:00 sleep
29589 pts/23 00:00:00 ps
Şimdi, bu, sleep
boru hattının içinde kendisinin küme parantezlerinin içine yerleştirildiği süreç hiyerarşisidir (yani, her iki telin iki seviyesi)
{ { sleep 2; } | ps -H; }
PID TTY TIME CMD
4398 pts/23 00:00:00 bash
29869 pts/23 00:00:00 bash
29871 pts/23 00:00:00 sleep
29870 pts/23 00:00:00 ps
Belgeler, kıvrımlı parantezler arasında komutların geçerli kabuk bağlamında yürütüldüğünü belirtirken neden 3. durumda bash
çalıştırılacak bir alt kabuk oluşturmak zorunda sleep
?
{ sleep 2 | command ps -H; }