Sizin büyülü sendika şey noktalı virgül ... ve küme parantezleri geçerli:
{ cat wordlist.txt ; ls ~/folder/* ; } | wc -l
Kıvrımlı parantezler sadece komutları birlikte gruplandırır, böylece boru işareti |
kombine çıktıyı etkiler.
Ayrıca ()
komutları bir alt kabukta yürüten komut grubu etrafındaki parantezleri de kullanabilirsiniz . Bu kıvrık parantez ile ince bir farklar kümesi vardır, örneğin aşağıdakileri deneyin:
cd $HOME/Desktop ; (cd $HOME ; pwd) ; pwd
cd $HOME/Desktop ; { cd $HOME ; pwd ; } ; pwd
Geçerli çalışma dizini de dahil olmak üzere tüm ortam değişkenlerinin parantez grubundan çıktıktan sonra sıfırlandığını göreceksiniz, ancak küme parantez grubundan çıktıktan sonra değil.
Noktalı virgül gelince, alternatifler arasında ikinci komutu yalnızca sırasıyla ilk başarılı olduğunda veya değilse, koşullu olarak uygulayacak olan &&
ve ||
işaretleri bulunur;
cd $HOME/project && make
ls $HOME/project || echo "Directory not found."