Birden çok komutun stdout'unu tek bir komutla nasıl alabilirim?Tek bir komutla çoklu komutları tek tek
Örnek 1: birleştirmek ve üç yankı komutları çıkış sıralamak:
echo zzz; echo aaa; echo kkk
istenen çıkış:
aaa
kkk
zzz
Örnek 2: tüm komutlar tek içinde olacak şekilde, aşağıdaki yeniden geçici bir dosyaya yönlendirmeler olmadan komut satırı kullanarak komut satırı:
setopt > /tmp/foo; unsetopt >> /tmp/foo; set >> /tmp/foo; sort /tmp/foo
+1. Ayrıca bir alt kabuk oluşturmayan parantezleri de kullanabilirsiniz. Sözdizimi biraz daha katı: '{setopt; unsetopt; set; } | sıralama | daha az - parantezin etrafındaki boşluk ve sondaki noktalı virgül gereklidir. –
@glenn: Bu farketmez (bash 3.2.48'de test edilmiştir), çünkü boru hattı zaten bir alt kanala zorlar. –
'$' komutunun, komutun bir parçası olmadığına dikkat çekilmelidir. – Gilly