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

> output.txt भाग को अनदेखा किया जा रहा है, इसलिए output.txt खाली होने के समाप्त होने पर मानक इनपुट और आउटपुट को रीडायरेक्ट करने के लिए कैसे करें।बैश

यह sort कमांड के लिए काम करता है इसलिए मुझे अन्य कार्यक्रमों के लिए भी काम करने की उम्मीद है।

कोई कारण यह काम नहीं करता है? मुझे इसे कैसे प्राप्त करना चाहिए?

+2

शायद ./program से उत्पादन मानक त्रुटि होने वाला है? '2> output.txt' – Richante

+0

@Richante LOL का प्रयास करें जो अजीब है लेकिन अब काम करता है (आप टिप्पणी में उत्तर क्यों लिखते हैं?) धन्यवाद – Inuart

उत्तर

6

सबसे अधिक संभावना स्पष्टीकरण यह है कि आप जो आउटपुट देख रहे हैं वह stderr से stdout नहीं है। एक फाइल करने के लिए उन दोनों को पुन: निर्देशित करने के लिए, ऐसा करते हैं:

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

या

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

आप कुछ कैसे करेंगे ./program output.txt'? – grinch