लिनक्स शेल में टाइप की गई कमांड को कैसे छिपाएं?


14

वहाँ एक तरीका है जो मैं एक शेल में टाइप कर रहा हूं, उसे छिपाने के लिए, इसलिए टर्मिनल मेरे कीस्ट्रोक्स को इको नहीं करता है, जबकि अभी भी कमांड का आउटपुट रख रहा है?

उदाहरण के लिए, अगर मैं चलाता हूं, तो ip addr showस्क्रीन पर एकमात्र चीज उस कमांड से आउटपुट होनी चाहिए - न कि "आईपी एड्र शो" जो कि टाइप हो।


1
नमस्ते। क्या आप इसके बारे में अधिक विशिष्ट हो सकते हैं content?
निखिल मुल्ले

1
क्या आपके पास पासवर्ड टाइप करते समय मानक इनपुट को छिपाने का मतलब है login? क्या आप उपयोग कर रहे हैं bash? कृपया कुछ और जानकारी प्रदान करें।

सामग्री का अर्थ है कमांड्स, उदाहरण के लिए अगर मैं एक कमांड "ip addr show" टाइप करता हूं तो यह bash टर्मिनल में दिखाई नहीं देना चाहिए कि मैं क्या टाइप कर रहा हूं। लेकिन क्या मैं इसका उत्पादन देख सकता हूं
मुगिल

3
यह एक अजीब आवश्यकता है। आप क्या हासिल करने का प्रयास कर रहे हैं? ध्यान दें कि विशिष्ट गोले के साथ, कमांड को इतिहास में भी दर्ज किया जाएगा और डिस्क पर सहेजा जाएगा।
गिल्स एसओ-

जवाबों:


25

यदि आप अपने द्वारा लिखी गई आदेशों की गूंज को अक्षम करना चाहते हैं, तो यह प्रयास करें:

stty -echo

आप इस आदेश का उपयोग करके प्रतिध्वनि को पुनः सक्षम कर सकते हैं:

stty echo

ध्यान दें कि कमांड का आउटपुट कुछ अलग तरीके से दिखाई देगा, इस उदाहरण सत्र को देखें:

$ pwd
/tmp
$ stty -echo
$ /tmp

यह टाइपिंग से हुई pwd, वापसी, stty -echo, वापसी, pwdवापसी।


2
ध्यान दें कि यह आपके शेल के आधार पर काम कर सकता है या नहीं भी हो सकता है, और शायद आपके प्रॉम्प्ट में आपने किन विषमताओं को रखा है। इसके अलावा उस टर्मिनल में सब कुछ के लिए सेटिंग लागू होती है; यदि आप एक पूर्ण-स्क्रीन कमांड चलाते हैं, तो इसे रीसेट करने की संभावना है stty +echo
गिल्स एसओ-
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.