Comment puis-je rediriger la sortie standard de plusieurs commandes vers une seule commande?Convertir plusieurs commandes en une seule commande
Exemple 1: combiner et trier la sortie de tous les trois commandes d'écho:
echo zzz; echo aaa; echo kkk
sortie souhaitée:
aaa
kkk
zzz
Exemple 2: réécrire les suivantes de sorte que toutes les commandes sont en une seule ligne de commande utilisant des canaux, sans redirections vers un fichier temporaire:
setopt > /tmp/foo; unsetopt >> /tmp/foo; set >> /tmp/foo; sort /tmp/foo
+1. Vous pouvez également utiliser des accolades qui ne génèrent pas un sous-shell. La syntaxe est un peu plus stricte: '{setopt; non-déclenché; ensemble; } | trier | less' - les espaces autour des accolades et le point-virgule sont obligatoires. –
@glenn: cela n'a pas d'importance (testé dans bash 3.2.48), puisque le pipeline le force dans une sous-couche de toute façon. –
Il convient de noter que le '$' est l'invite, ne fait pas partie de la commande – Gilly