set -x
Ayrıntılı / hata ayıklama çıktısı ile bir kabuk komut dosyası var:
#!/bin/bash
set -x
command1
command2
...
Çıktı şöyle görünür:
+ command1
whatever output from command1
+ command2
whatever output from command2
Benim sorunum kabuk çıkışı (neden olduğu set -x
) komutların çıktısı ile karıştırılır (stderr'e, gider command1
, command2
, ...). Ekranda "normal" çıktı (komut dosyası woud olmadan çalıştırmak gibi set -x
) ve bash "ekstra" çıktısı ayrı ayrı bir dosyada olması için mutlu olurdu .
Yani bunu ekranda yapmak istiyorum:
whatever output from command1
whatever output from command2
ve bu bir günlük dosyasında:
+ command1
+ command2
(ayrıca günlük dosyasında her şey varsa iyi olur)
set -x 2> file
O set komutunun çıktısı değil çünkü belli ki doens't, sağ etkili olması, ancak Bash davranışını değiştirmek.
bash 2> file
Komut dosyasının tamamını kullanmak da doğru şeyi yapmaz, çünkü bu kabukta çalışan her komutun stderr'ini yeniden yönlendirir, bu yüzden komutların hata mesajını görmüyorum.