2009-08-31 12 views
5

मैं एक फ़ाइल से अपने टर्मिनल में इनपुट डंप करने का एक तरीका ढूंढ रहा हूं, लेकिन जब ईओएफ पहुंचा तो मैं इनपुट को अपने कीबोर्ड पर वापस लौटा दूंगा। क्या बैश (या किसी अन्य सामान्य रूप से उपलब्ध * निक्स शैल) के साथ ऐसा करने का कोई तरीका है?बैश में अस्थायी इनपुट पुनर्निर्देशन

विवरण: मैं एक सर्वर प्रोग्राम डीबग कर रहा हूं जो बाल प्रक्रिया शुरू करने के लिए एक कांटा निष्पादित करता है। हर बार जब मैं gdb के साथ एक डिबगिंग सत्र शुरू करता हूं तो मुझे सेट फॉलो-फोर्क-मोड बच्चा टाइप करना होगा। मैं इस पूर्व-जनसंख्या वाले कुछ प्रकार के इनपुट पुनर्निर्देशन का उपयोग करना चाहता हूं। इसके अलावा अन्य उपयोग भी हैं जिनके बारे में मैं सोच सकता हूं, इसलिए मैं एक सामान्य समाधान पसंद करूंगा - इसलिए कारण यह प्रश्न जीडीबी के बारे में नहीं है।

समाधान: start-server.sh

#!/bin/bash 
cat run-server.txt - |/bin/bash 

रन server.txt

gdb ./Server 
set follow-fork-mode child 
run 

उत्तर

8

आप ऐसा कर सकते हैं:

cat input_file - | program 

input_fileprogram को stdin द्वारा पीछा किया, जो मुझे लगता है कि जोड़ होगा कि आप क्या चाहते है।

+0

+1 यह बताता है कि जब मैं "| vi -" का उपयोग करता हूं तो मुझे लगता है। मैंने पाया कि कहीं और कभी इसका मतलब नहीं था। * यह टिकट हो सकता है। –

+0

जब आप कोण ब्रैकेट का उपयोग करते हैं तो यह भ्रमित होता है जैसे कि वे उद्धरण चिह्न थे, क्योंकि उनका उपयोग पुनर्निर्देशन के लिए किया जाता है। –

+0

डेनिस: यह एक अच्छा मुद्दा है। मैं उन्हें बदल दूंगा। –

1

शायद expect क्या आप

+0

+1 मैं देख सकता हूं कि यह मुझे स्क्रिप्ट उत्पन्न करने में कैसे मदद कर सकता है - मैं देखता हूं कि किस तरह की चीजें उम्मीद कर सकती हैं। लिंक के लिए धन्यवाद। अब तक मुझे नहीं लगता कि यह मेरे प्रश्न का उत्तर देता है। –

+0

http://expect.nist.gov/example/dislocate.man.html आशाजनक लग रहा है –

+0

कुल मिलाकर मुझे लगता है कि उम्मीद एक अच्छा उपकरण है। मुझे इसमें खोदना होगा - हालांकि, मैं जो पूछ रहा था उसके साथ जर्बोक का समाधान अधिक था। –

0

हो सकता है कि एक मध्यवर्ती फ़ाइल का उपयोग करना चाहते हैं ? मान लिया जाये कि आप स्क्रिप्ट myscript.sh चलाना चाहते हैं:

INPUT_FILE=input.txt 
TEMP_FILE=`mktemp -t input` 
myscript.sh < $TEMP_FILE & 
cat $INPUT_FILE >> $TEMP_FILE 
cat >> $TEMP_FILE 
संबंधित मुद्दे