Su> echo "<username>" का क्या अर्थ है?


17

जब मैं कमांड में प्रवेश कर रहा था

su > echo  "sachin"

यह एक पासवर्ड के लिए पूछ रहा था। जब मैंने अपना पासवर्ड दिया, तो कुछ अजीब चीजें हुई जैसा कि आप देख सकते हैं:

यहां छवि विवरण दर्ज करें

एक और बात: मेरे लैपटॉप पर एक अन्य उपयोगकर्ता हैडॉप है , लेकिन जब मैं करता हूं

su > echo "Hadoop"

इसे कहते हैं

Hadoop के लिए कोई पासवार्ड एंट्री नहीं

इसका क्या मतलब है?


सु सुपर उपयोगकर्ता की अनुमति के लिए पूछना है, इको कुछ प्रिंट करने के लिए है, इको <टेक्स्ट> टेक्स्ट प्रिंट करने के लिए है,> है जो इस प्रकार है, जैसे, सु> इको "सैचिन" सु सैचिन के रूप में ही है, क्योंकि इको "
सैचिन

3
@ Yousef's: No. echoनिष्पादित नहीं किया गया है। यह पुनर्निर्देशन कमांड ">" के बाद है, इसलिए इसे फ़ाइल नाम के रूप में पढ़ा जाता है। बाकी तर्क suहमेशा की तरह पारित कर दिए जाते हैं !
रमनो

1
@ Yousef की आप सोच रहे होंगे su $(echo "sachin")। वही करोगे जो तुम कह रहे हो।
एलियाह कगन

हम्म्म्म, गलत जानकारी के लिए बहुत खेद है, मैं वास्तव में इसके बारे में निश्चित नहीं था, लेकिन मैंने इसे आजमाया और मुझे पहली बार पता चला, मुझे सही जानकारी देने के लिए धन्यवाद
ओवरकोडर

जवाबों:


30

आह! अच्छी पहेली!

बस " exit" कहें , और आपकी सभी फाइलें वहां होंगी (और आउटपुट जिसे आप एक फाइल में याद करते हैं echo)।

व्याख्या:

 su > echo user 

के समान है

 su user > echo

तो आप suअपने उपयोक्ता के साथ (उप) शेल शुरू कर रहे हैं (उपयोक्ता के साथ), जो सभी आउटपुट के साथ एक फाइल पर पुनर्निर्देशित किया जाता हैecho !

देखो:

[romano:~] % cd tmp/dvd-usa-hd 
[romano:~/tmp/dvd-usa-hd] % ls
dvd-usa-hd_01_01.avi
[romano:~/tmp/dvd-usa-hd] % su > echo romano
Password: 
[romano:~/tmp/dvd-usa-hd] % ls
[romano:~/tmp/dvd-usa-hd] % exit
[romano:~/tmp/dvd-usa-hd] % ls
dvd-usa-hd_01_01.avi  echo
[romano:~/tmp/dvd-usa-hd] % cat echo
dvd-usa-hd_01_01.avi
echo
[romano:~/tmp/dvd-usa-hd] % 

13
अच्छा उत्तर। इस पहेली का मुख्य भ्रामक और दिलचस्प पहलू यह है कि, हालांकि हम आम तौर पर उन्हें एक साधारण कमांड के अंत (या कभी-कभी शुरुआत) में आपूर्ति करते हैं, पुनर्निर्देशन वास्तव में कहीं भी जा सकते हैं - तर्कों के बीच भी। हम हर su user > echoसमय और > echo su userकुछ आवृत्ति के साथ कमांड को देखते हैं , लेकिन su > echo userलगभग कभी नहीं, क्योंकि इस तरह के गोपनीय तरीके से कमांड लिखने का शायद ही कोई व्यावहारिक कारण हो। (जब इस तरह के वाक्यविन्यास को स्वीकार किया जाता है, तो कभी-कभी उपयोगी होता है जब स्वचालित रूप से प्रोग्राम या स्क्रिप्ट से कमांड उत्पन्न होता है।)
एलियाह कागन

2
@EliahKagan हाँ --- और यहाँ भ्रम फ़ाइल नाम से बढ़ा है। su > stdout.txt userइतना मुश्किल नहीं होगा ...
रमनो

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