टी वैकल्पिक (उपयोगकर्ता इनपुट छूट गया)


0

हम कुछ तृतीय पक्ष इंटरेक्टिव कमांड लाइन टूल का उपयोग कर रहे हैं, और हम teeलॉगिंग के लिए उपयोग करते हैं कि एक उपयोगकर्ता ने क्या किया - यदि आवश्यक हो तो बाद में जांच करने के लिए ...

उपकरण यह पूछने का तरीका काम करता है कि उपयोगकर्ता किस क्रिया को करना चाहता है और उपयोगकर्ता कुछ चुनता है और सबमेनू के साथ जारी रहता है या कार्रवाई निष्पादित होती है।

हाल ही में (जब हमें ऐसे लॉग की जांच करने की आवश्यकता हुई) हमें एहसास हुआ, उपयोगकर्ता इनपुट नहीं हैं। क्या कोई विकल्प है - इसे कैसे प्राप्त किया जाए?

जब मैंने उपकरण के साथ अनुकरण करने का प्रयास किया:

$ cat r.sh
read -p "Enter some text: " text
echo $text

echo -n "Enter another text: "
read text2
echo $text2

मैंने परीक्षण किया और यह आउटपुट है

$ ./r.sh | tee run.log
Enter some text: abc
abc
Enter another text: def
def

$ cat run.log
abc
Enter another text: def

आदर्श रूप में मैं वही देखना चाहता हूं जो उपयोगकर्ता ने देखा, जो कि जैसा आप देख सकते हैं वैसा नहीं है।

उपाय:

अगर किसी को इसकी आवश्यकता है तो मैंने इसके साथ परीक्षण किया

script -c ./r.sh script.log

और यह उम्मीद के अनुसार काम किया + मैंने इस 3 पार्टी टूल के साथ परीक्षण किया।

जवाबों:


3

आप इसके लिए उपयोग कर सकते हैं script; यह एक नेस्टेड ट्टी बनाता है और इसमें होने वाली हर चीज को रिकॉर्ड करता है।

यदि आप यह भी निर्दिष्ट --timing=…करते हैं कि यह पूर्ण-स्क्रीन इंटरैक्टिव कार्यक्रमों (जैसे पाठ संपादकों और इस तरह) के पुन: प्रयोज्य "वीडियो" का उत्पादन भी कर सकता है।


(पूर्णता के लिए - एक और समान उपकरण है asciinema, जो एक होस्ट की गई सेवा है जो स्वचालित रूप से https://asciinema.org/ पर रिकॉर्ड प्रकाशित करती है । डेमो और ट्यूटोरियल बनाने के लिए उपयोगी है।)


मैं स्क्रिप्ट के साथ मजाक कर रहा था। मुझे जो कुछ याद आ रहा था, वह था "गैर संवादात्मक" इसे रिकॉर्ड करना। ctrl D यह अंतःक्रियात्मक रूप से करता है - लेकिन यह निश्चित नहीं है कि इसे स्क्रिप्ट के भाग के रूप में क्या समाप्त किया जाएगा।
जर्नीमैन गीक

scriptएक शुरू होता है नेस्टेड खोल (या किसी अन्य प्रोग्राम), और रिकॉर्डिंग समाप्त होता है जब कि खोल या प्रोग्राम से बाहर निकलता है। यही सब है इसके लिए।
गौरव

आह, तो बाहर निकलें काम करेगा?
जर्नीमैन गीक

स्क्रिप्ट ऐसा लगता है कि जो मैं चाहता था, उसे और अधिक परीक्षण करने के लिए कुछ समय की आवश्यकता होगी (मैंने जो निर्दिष्ट किया है और ठीक लगता है, उसके साथ परीक्षण किया है), लेकिन अब के लिए यह एक विकल्प है ...
बेटलिस्टा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.