एक प्रॉम्प्ट का एनाटॉमी
हमारा डिफ़ॉल्ट संकेत कुछ इस तरह दिखता है:
[मुझे@लिनक्सबॉक्स ~]$
[मुझे@लिनक्सबॉक्स ~]$
ध्यान दें कि इसमें हमारा उपयोगकर्ता नाम, हमारा होस्टनाम और हमारी वर्तमान कार्यशील निर्देशिका है, लेकिन यह इस तरह से कैसे प्राप्त हुआ? बहुत सरलता से, यह पता चला है। प्रॉम्प्ट को एक एनवायरनमेंट वेरिएबल नाम से परिभाषित किया गया है PS1 ("प्रॉम्प्ट स्ट्रिंग वन" के लिए संक्षिप्त)। हम की सामग्री देख सकते हैं PS1 साथ गूंज आदेश:
[मुझे@लिनक्सबॉक्स ~]$ गूंज $PS1
[\u@\h \डब्ल्यू]\$
[मुझे@लिनक्सबॉक्स ~]$ गूंज $PS1
[\u@\h \डब्ल्यू]\$
नोट: यदि आपके परिणाम बिल्कुल ऊपर दिए गए उदाहरण के समान नहीं हैं, तो चिंता न करें। प्रत्येक लिनक्स वितरण प्रॉम्प्ट स्ट्रिंग को थोड़ा अलग तरीके से परिभाषित करता है, कुछ काफी हद तक।
परिणामों से, हम देख सकते हैं कि PS1 इसमें कुछ वर्ण शामिल हैं जिन्हें हम अपने संकेत में देखते हैं जैसे कि कोष्ठक, एट-साइन और डॉलर का चिह्न, लेकिन बाकी एक रहस्य हैं। हमारे बीच का चतुर इन्हें इस रूप में पहचानेगा बैकस्लैश से बचने वाले विशेष पात्र पसंद
एक प्रॉम्प्ट का एनाटॉमी
जिन्हें हमने अध्याय 7 में देखा था। यहाँ उन पात्रों की एक आंशिक सूची दी गई है जिन्हें खूब जोर से पीटना विशेष रूप से शीघ्र स्ट्रिंग में व्यवहार करता है:
तालिका 13-1: शेल प्रॉम्प्ट में प्रयुक्त एस्केप कोड
अनुक्रम मान प्रदर्शित
अनुक्रम मान प्रदर्शित
\ एक ASCII घंटी। यह कंप्यूटर के सामने आने पर बीप करता है।
\d वर्तमान दिनांक दिन, माह, दिनांक स्वरूप में। उदाहरण के लिए, "सोम 26 मई।"
\h स्थानीय मशीन का होस्टनाम पिछला डोमेन नाम घटाकर।
\H पूर्ण होस्टनाम।
\j वर्तमान शेल सत्र में चल रहे कार्यों की संख्या।
\l वर्तमान टर्मिनल डिवाइस का नाम।
\n एक न्यूलाइन कैरेक्टर।
\r एक कैरिज रिटर्न।
\s शेल प्रोग्राम का नाम।
\t वर्तमान समय 24 घंटे घंटे:मिनट:सेकंड प्रारूप में।
\T वर्तमान समय 12 घंटे के प्रारूप में।
\@ वर्तमान समय 12 घंटे पूर्वाह्न/अपराह्न प्रारूप में।
\A 24 घंटे में वर्तमान समय: मिनट प्रारूप।
\u वर्तमान उपयोगकर्ता का उपयोगकर्ता नाम।
\v शेल का वर्जन नंबर।
\V शेल का वर्जन और रिलीज नंबर।
\w वर्तमान कार्यशील निर्देशिका का नाम।
\W वर्तमान कार्यशील निर्देशिका नाम का अंतिम भाग।
\! वर्तमान कमांड का इतिहास संख्या।
\# इस शेल सत्र के दौरान दर्ज किए गए आदेशों की संख्या।
\$ यह एक "$" वर्ण प्रदर्शित करता है जब तक कि हमारे पास सुपरसुसर विशेषाधिकार न हों।
उस स्थिति में, यह इसके बजाय "#" प्रदर्शित करता है।
\[ एक या अधिक गैर-मुद्रण वर्णों की श्रृंखला की शुरुआत का संकेत देता है।
इसका उपयोग गैर-मुद्रण नियंत्रण वर्णों को एम्बेड करने के लिए किया जाता है जो टर्मिनल एमुलेटर को किसी तरह से हेरफेर करते हैं, जैसे कि स्थानांतरित करना
कर्सर या टेक्स्ट का रंग बदलना।
\] एक गैर-मुद्रण वर्ण अनुक्रम के अंत का संकेत देता है।