मेरे पास grep -v
प्रश्नों से संबंधित एक अजीब मुद्दा है । मुझे समझाने की अनुमति दें:
मेरे द्वारा उपयोग किए जाने वाले कनेक्शन प्रदर्शित करने के लिए who
:
$ who
harry pts/0 2016-12-08 20:41 (192.168.0.1)
james pts/1 2016-12-08 19:28 (192.168.0.1)
timothy pts/2 2016-12-08 02:44 (192.168.0.1)
tty
मेरे टर्मिनल का करंट हैpts/0
$ tty
/dev/pts/0
$ tty | cut -f3-4 -d'/'
pts/0
मैं अपने खुद के कनेक्शन का उपयोग करने का प्रयास करता हूं grep -v $(tty | cut -f3-4 -d'/')
। इस कमांड का अपेक्षित आउटपुट who
मेरे कनेक्शन के बिना होना चाहिए । हालाँकि, आउटपुट सबसे अप्रत्याशित है:
$ who | grep -v $(tty | cut -f3-4 -d'/')
grep: a: No such file or directory
grep: tty: No such file or directory
मैं $(...)
उद्धरण में उद्धरण संलग्न करता हूं और यह "ऐसी कोई फ़ाइल या निर्देशिका" समस्या को ठीक करने के लिए नहीं लगता है। हालाँकि, मेरा कनेक्शन अभी भी छपा हुआ है, भले ही मेरे tty ( pts/0
) को बाहर कर दिया गया हो:
$ who | grep -v "$(tty | cut -f3-4 -d'/')"
harry pts/0 2016-12-08 20:41 (192.168.0.1)
james pts/1 2016-12-08 19:28 (192.168.0.1)
timothy pts/2 2016-12-08 02:44 (192.168.0.1)
इस बिंदु के रूप में, मुझे बिल्कुल पता नहीं है कि grep
क्वेरी में खराबी क्यों है।
grep
"ट्टी नहीं" हूं । आप यह कैसे सुझाएंगे कि मैं इसके आसपास पहुंचूं?
set -x
पहले का उपयोग करने के बारे में ... फिर अपनी आज्ञा को चलाएं और देखें कि आप वास्तव में क्या करने की कोशिश कर रहे हैंgrep
...