/ / मैं बैश में एक छद्म फ़ाइल कैसे बनाऊँ जो किसी अन्य फ़ाइल में संलग्न हो - linux, bash, shell

मैं बैश में एक छद्म फ़ाइल कैसे बना सकता हूं जो किसी अन्य फ़ाइल में संलग्न होता है - लिनक्स, बैश, खोल

मेरा एक बंद कार्यक्रम है (अर्थात इंटेरसिस्टम"csession" Cachédb टर्मिनल) जो एक पैरामीटर के रूप में दी गई फ़ाइल को लिखेगा। यह कई बार ऐसा करता है, जैसा कि तब लौटता है। हर बार, दी गई फ़ाइल अधिलेखित हो जाती है, इसलिए अंत में, मुझे केवल अंतिम परिणाम मिलता है ...

मेरा विचार था कि एक पैरामीटर के रूप में एक विशेष छद्म फाइल को छल और देना संभव हो सकता है, जो एक प्रॉक्सी के रूप में कार्य करेगा और जो दूसरी फाइल में लिखा गया है उसे जोड़ देगा।

create proxyfile as >> realfile
cat "Hello" > proxyfile
cat "Bye" > proxyfile
cat realfile
Hello
Bye

क्या किसी को लगता है कि यह संभव हो सकता है, शायद थोड़ी उपयोगिता का उपयोग कर?

उत्तर:

उत्तर № 1 के लिए 4

आप इस उद्देश्य के लिए एक FIFO फ़ाइल (नामित पाइप) का उपयोग कर सकते हैं। यह देखने के लिए कि वे कैसे काम करते हैं, दो टर्मिनल विंडो खोलें। एक में, करते हैं

cd /tmp
mkfifo pipe
tail -f pipe

और दूसरे में

cd /tmp
echo "Hello" > pipe
echo "Bye" > pipe

वास्तविक समस्या के लिए, अपने एप्लिकेशन को FIFO को लिखें और उपयोग करें tail -f pipe > outputfile परिणामों को इकट्ठा करने के लिए पृष्ठभूमि में outputfile.


उत्तर № 2 के लिए 1

आप उपयोग कर सकते हैं /dev/stdout आउटपुट फ़ाइल के रूप में, इसे कैट पर पाइप करें और मानक ouput को किसी फ़ाइल के साथ जोड़ें >>

csession /dev/stdout | cat >>realfile

यह अधिलेखित नहीं होगा, लेकिन मौजूदा फ़ाइल में संलग्न होगा।