शेल में प्रतिशत संकेत संकेत क्या है?


16

वीडियो देखते समय, मैंने निम्नलिखित देखा:

% more tinyUF.txt
10
4 3
3 8
6 5

कमांड %से पहले यह संकेत क्या है more?


2
export PS1=%??
रोमन ग्रैफ

@ RomanGräf, वह क्या है?
मैक्सिम कोरेत्स्की 13

1
आप सामान्य बदल सकते हैं $का उपयोग करके साइन export PS1=...जहां ...प्रतिस्थापन है।
रोमन ग्रैफ

@ RomanGräf, मैं देखता हूं, सुझाव के लिए धन्यवाद
मैक्सिम कोरसेटस्की

@ रोमान ग्रैफ: आप वास्तव में सिर्फ चरित्र बदलने की तुलना में संकेत के साथ एक पूरी बहुत कुछ कर सकते हैं। खान में मशीन का नाम भी शामिल है (क्योंकि मेरे पास अक्सर अन्य मशीनों में xterm विंडो है) और वर्तमान पथ में अंतिम कुछ निर्देशिकाएं हैं। और अगर मैं जड़ हूं, तो यह चमकदार लाल हो जाता है।
jamesqf

जवाबों:


29

यह शेल प्रॉम्प्ट है, या अधिक सटीक रूप से, यह शेल का प्राथमिक प्रॉम्प्ट है ( कई हैं )। यह कहने का तरीका है " आगे बढ़ो, मैं अभी इनपुट के लिए तैयार हूं "।

%शीघ्र में आम है csh, जबकि प्रकार के गोले sh-shells (जैसे bashऔर ksh93) आमतौर पर एक का उपयोग करता है $शीघ्र के रूप में।

आमतौर पर #रूट यूजर के लिए प्रॉम्प्ट बदल जाता है क्योंकि एक पर्याप्त शक्तिशाली उपयोगकर्ता को वैकल्पिक प्रॉम्प्ट होने के कारण उस पावर की याद दिलाई जानी चाहिए (जैसा कि POSIX मानक डालता है)।

प्राथमिक संकेत इन- shटाइप शेल्स को शेल चर के मान से निर्धारित किया जाता है PS1


नीचे टिप्पणी के सारांश, परिवर्धन के साथ:

#जड़ शीघ्र (दोनों द्वारा इस्तेमाल किया के चरित्र shऔर cshगोले) आम खोल टिप्पणी चरित्र के साथ मेल खाना होता है। एक कमांड को कॉपी और पेस्ट करना रूट के रूप में पेस्ट किए गए कमांड को निष्क्रिय कर देगा, यदि शेल प्रॉम्प्ट को भी कॉपी किया गया है। ध्यान दें कि #शेल से पहले रूट प्रॉम्प्ट के रूप में अपनाया गया था एक टिप्पणी सम्मेलन (संदर्भ: डौग मैकलरॉय से ईमेल )।

esऔर rcयोजना 9 के गोले का उपयोग करता ;डिफ़ॉल्ट संकेत के रूप में चरित्र। इसका एक परिणाम यह है कि प्रॉम्प्ट सहित कमांड को कॉपी और पेस्ट करना, फिर भी इसका मतलब होगा कि पेस्ट की गई कमांड वैध है (और इसे निष्पादित किया जाएगा)।

उदाहरण के लिए किसी को कस्टम करने के लिए सक्षम करने का एक तरीका, लेकिन अभी भी कॉपी-पेस्ट करने योग्य, शेल प्रॉम्प्ट का उपयोग करना होगा : something ;, जहां somethingवर्तमान निर्देशिका, होस्टनाम या समय हो सकता है।


2
इसके अलावा, zshएक बॉर्न-शैली शेल, लेकिन बहुत सारी विशेषताओं के साथ tcsh)। ध्यान दें कि बॉर्न-जैसी और csh- जैसे गोले आमतौर पर #uid 0. के उपयोगकर्ताओं के लिए उपयोग करते हैं
स्टीफन चेज़लस

1
यह भी ध्यान दें कि rcजैसे-जैसे गोले ;वहां इस्तेमाल होते हैं (एक पूरी लाइन को कॉपी-पेस्ट कर सकते हैं और यह वैध शेल कोड है, रूट का #एक टिप्पणी के रूप में एक ही विचार है )।
स्टीफन चेज़लस

2
रूट के लिए # का एक बहुत ही महत्वपूर्ण विकल्प यह है कि यदि आप किसी कमांड को कॉपी करते हैं, जिसमें आप शामिल हैं, तो आप नुकसान का कारण नहीं बनेंगे (जैसा कि # एक टिप्पणी शुरू करता है, इसलिए आपकी कमांड (अच्छी तरह से, इसकी पहली पंक्ति) पर टिप्पणी करेगा)। कुछ लोग ">" का उपयोग करते हैं और यदि आप इसे भी कॉपी करते हैं, तो यह क्लोबर (पूरी तरह से खाली) बायनेरिज़ हो सकता है यदि कमांड में पूर्ण या रिश्तेदार पथ है या यदि आप सही निर्देशिका में हैं (और पर्याप्त अधिकार हैं, उदाहरण के लिए यदि आप हैं रूट)। मैंने ऐसा होते देखा है।
ओलिवियर दुलैक

1
@ स्टीफनचेज़लस: क्या # -for- रूट कन्वेंशन की शुरुआत टर्मिनलों से पहले लंबे समय से नहीं हुई थी, जहां एक पूरी लाइन को काटना और चिपकाना आसानी से सामान्य हो गया?
हमखोलम ने मोनिका

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