“ Linux: Komple Referans 6. Baskı ” (sf. 44) 'ya göre, yönlendirme sembollerini kullanarak sadece STDERR' i |&
yönlendirebilirsiniz.
Bunu test etmek için oldukça basit bir senaryo yazdım:
#!/bin/bash
echo "Normal Text."
echo "Error Text." >&2
Bu betiği şu şekilde çalıştırıyorum:
./script.sh |& sed 's:^:\t:'
Muhtemelen, sadece STDERR'ye basılan çizgiler girintili olacaktır. Ancak, aslında gördüğüm gibi, bu çalışmıyor:
Normal Text.
Error Text.
Neyi yanlış yapıyorum burada?
./script.sh > /tmp/stdout_goes_here |& grep 'grepping_script_stderr'
işi değil amaçlandığı gibi, yani: yönlendirmescript.sh
'ınstdout
(ilk gerçekleşmesi gereken manuel pasajı göre olan), daha sonra izingrep
komut en işlemek içinstderr
. Bunun yerine,stderr
ve tdout` ikisi de sonastdout_goes_here