गूंज कमांड कमांड के साथ काम क्यों नहीं करता है?


14

जब मैं टाइप करता हूं:

at now + 1 min
at>play /usr/share/sounds/startrek.wav
at>ctrl+d

यह काम करता है, इसलिए एक मिनट के बाद वास्तव में ध्वनि बजती है।

लेकिन, जब मैं टाइप करता हूं:

at now + 1 min
at>echo "Teresa the green vegetable lover"
at>ctrl+d

मुझे शेल से कोई त्रुटि प्रतिक्रिया नहीं मिली, लेकिन 1 मिनट के बाद कोई पाठ प्रदर्शित नहीं हुआ।

जवाबों:


23

जिस टर्मिनल में वे पंजीकृत थे, वहां से चलने वाली कमांड नहीं चलती हैं। यह सामान्य रूप से समझ में नहीं आता है: टर्मिनल किसी भी अधिक मौजूद नहीं हो सकता है, या यह एक अलग उपयोगकर्ता द्वारा उपयोग में हो सकता है। जब तक कमांड चलती है तब तक आप लॉग आउट कर सकते हैं।

एक कमांड से आउटपुट आपको ईमेल द्वारा भेजा जाता है। यह स्थानीय यूनिक्स ईमेल है, जो कुछ भी बाहरी पीओपी या आईएमएपी खाता नहीं है जो आपने किसी ईमेल प्रोग्राम में स्थापित किया हो। यदि आपका स्थानीय ईमेल सेट नहीं है, तो कमांड से आउटपुट खो जाता है। यदि आपका स्थानीय ईमेल सेट नहीं है, तो यह मार्गदर्शिका आपकी मदद कर सकती है।

यदि आप अपने टर्मिनल से बातचीत करने के लिए एक कमांड चाहते हैं, तो आपको एक स्पष्ट पुनर्निर्देशन का उपयोग करने की आवश्यकता है। उदाहरण के लिए:

echo "echo hello >$TTY" | at now + 1 min

ध्यान दें कि इस स्निपेट में, चर TTYको शेल द्वारा विस्तारित किया जाता है, इसलिए इनपुट atकुछ ऐसा है echo hello >/dev/pts/42

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.