2012-04-09 17 views
5
#!/bin/bash 
./program <input.txt> output.txt 

> output.txt bölümü yok sayılıyor, böylece çıktı.txt boş çıkıyor.Standart girdi ve çıktıyı Bash ile yeniden yönlendirme

Bu, sort komutu için çalışır; bu nedenle, diğer programlar için de çalışmam bekleniyor.

Bunun bir nedeni çalışmıyor mu? Bunu nasıl başarmalıyım?

+2

Belki ./program çıktısı standart hata olacak? '2> output.txt' deneyin – Richante

+0

@Richante LOL bu garip ama şimdi çalışıyor (neden cevabı bir yorum yazıyorsun?) Teşekkürler – Inuart

cevap

6

En olası açıklama, gördüğünüz çıktının stdout değil stderr olmasıdır. Bir dosyaya ikisi de yeniden yönlendirmek için şunu yapın:

./program <input.txt> output.txt 2>&1 

veya

./program < input.txt &> output.txt 
+0

Nasıl bir şey yapardınız? .program çıktı.txt'? – grinch

İlgili konular