In un ambiente Unix, voglio usare tee
su una catena di comandi in questo modo:Unix e tee - catena di comandi
$ echo 1; echo 2 | tee file
1
2
$ cat file
2
Perché file
finiscono solo fino ad avere l'output del comando finale?
Ai fini di questa discussione, supponiamo che non sia possibile separarli ed eseguire i comandi separatamente.
Così come la creazione di un sub-shell esplicito , puoi usare '{echo 1; echo 2; } | tee file' per ottenere l'output in un file. Si noti che '{deve essere separato dal comando da uno spazio, e'} 'deve apparire dove potrebbe apparire un comando (quindi è dopo il secondo punto e virgola). L'altra alternativa è sempre quella di creare un nuovo script contenente i due comandi indivisibili e convogliare l'output di quello in 'tee':' conjoined-twin-processes | tee file'. –