संस्करण 10.15 कैटालिना के अपडेट के बाद से, macOS में टर्मिनल ऐप में बैश के बजाय डिफ़ॉल्ट रूप से Z शेल (zsh) शामिल है। उस ने कहा, आपको अभी भी टर्मिनल के अंदर सफेद पाठ के साथ वही काली खिड़की मिलती है। चीजों को ऐसे ही रहने की जरूरत नहीं है।
आप इसे न्यूनतम बनाने और स्थान को सर्वोत्तम बनाने के लिए zsh प्रॉम्प्ट को सजा सकते हैं। हम आपको दिखाएंगे कि टर्मिनल ऐप में zsh प्रॉम्प्ट को कैसे कस्टमाइज़ किया जाए ताकि आप जो भी बैकग्राउंड चुनें, उस पर अलग दिखें।
zsh प्रॉम्प्ट की मूल बातें
जब आप टर्मिनल ऐप लॉन्च करते हैं, तो यह कुछ उपयोगी जानकारी प्रदर्शित करता है, जैसे आपका अंतिम लॉगिन और कमांड प्रॉम्प्ट। यह आमतौर पर डिफ़ॉल्ट रूप से प्रॉम्प्ट जैसा दिखता है।
Last login: Wed Feb 3 22:00:40 on console
samir@MacBook-Air ~ %
zsh प्रॉम्प्ट टेक्स्ट की एक स्ट्रिंग दिखाता है जिसमें आपका उपयोगकर्ता नाम और कंप्यूटर का मॉडल जैसे MacBook Air, MacBook Pro, Mac Mini, इत्यादि शामिल हैं। टिल्ड (~) होम डायरेक्टरी में प्रॉम्प्ट के स्थान को इंगित करता है।
सभी सेटिंग्स को स्टोर करने के लिए एक Z शेल प्रोफाइल बनाएं
आमतौर पर, आपको डिफ़ॉल्ट रूप बदलने के लिए सिस्टम फ़ाइलों के साथ छेड़छाड़ करनी पड़ती है। ऐसा इसलिए है क्योंकि macOS अपडेट सभी सिस्टम फ़ाइल को डिफ़ॉल्ट पर रीसेट कर देता है, और आप अपने द्वारा किए गए सभी परिवर्तन खो देंगे।
इसलिए आप अपनी zsh प्रोफ़ाइल के लिए एक विशिष्ट सेटिंग फ़ाइल बना सकते हैं, जिसे dotfile के रूप में जाना जाता है, ताकि आप zsh प्रॉम्प्ट में अपने इच्छित सभी परिवर्तनों और सेटिंग्स को संग्रहीत कर सकें।
ठीक है, आपको यह डॉटफाइल डिफ़ॉल्ट रूप से macOS पर नहीं मिलेगी, इसलिए आपको एक बनाना होगा। सभी सेटिंग्स को स्टोर करने के लिए एक नया .zshrc प्रोफ़ाइल बनाने की अनुशंसा की जाती है जैसे zsh प्रॉम्प्ट दिखता है और व्यवहार करता है।
यहाँ zsh प्रोफ़ाइल (डॉटफ़ाइल) बनाने का तरीका बताया गया है:
1. टर्मिनल खोलें ऐप।
2. निम्न आदेश टाइप करें और रिटर्न कुंजी दबाएं।
touch ~/.zshrc
यह आपके उपयोगकर्ता खाते की होम निर्देशिका में एक .zshrc प्रोफ़ाइल बनाएगा। यदि आपने छिपी हुई सिस्टम फ़ाइलों को देखने में सक्षम किया है, तो आप इसे खोजक में /उपयोगकर्ता/<उपयोगकर्ता नाम>/ पथ के अंतर्गत देख सकते हैं।
उसके बाद, हर बार जब आप टर्मिनल लॉन्च करेंगे तो zsh प्रोफ़ाइल लॉगिन और इंटरेक्टिव शेल के लिए उपलब्ध होगी। हालांकि, यह SSH सत्रों में सक्रिय नहीं होगा।
सभी परिवर्तन जो आप zsh प्रांप्ट में करना चाहते हैं, इस प्रोफ़ाइल में शामिल किए जा सकते हैं।
टर्मिनल में zsh प्रॉम्प्ट को कस्टमाइज़ करें
सामान्यतया, डिफ़ॉल्ट zsh प्रांप्ट उपयोगकर्ता के होम डायरेक्टरी में शुरू होने वाले उपयोगकर्ता नाम, मशीन का नाम और स्थान जैसी जानकारी रखता है। ये विवरण zsh शेल के सिस्टम फ़ाइल में /etc/zshrc स्थान पर संग्रहीत हैं।
PS1="%n@%m %1~ %#"
चर के इस तार में:
- %n आपके खाते का उपयोगकर्ता नाम है।
- %m मैकबुक का मॉडल नाम है।
- %1~ प्रतीक का अर्थ है वर्तमान कार्यशील निर्देशिका पथ जहां ~ $HOME निर्देशिका स्थान को स्ट्रिप्स करता है।
- %# का अर्थ है कि यदि शेल रूट (व्यवस्थापक) विशेषाधिकारों के साथ चल रहा है, तो प्रॉम्प्ट # दिखाएगा, या नहीं तो % प्रदान करता है।
डिफ़ॉल्ट zsh प्रॉम्प्ट में कोई भी परिवर्तन करने के लिए, आपको प्रांप्ट के लिए प्रासंगिक मान जोड़ने होंगे ताकि वह डिफ़ॉल्ट से अलग दिखाई दे।
यहां बताया गया है कि इसके बारे में कैसे जाना है। टर्मिनल खोलें , निम्न कमांड टाइप करें, और एंटर दबाएं।
nano ~/.zshrc
यदि आप इसे पहली बार एक्सेस कर रहे हैं तो यह खाली होगा। आप PROMPT='...' टेक्स्ट के साथ एक नई लाइन जोड़ सकते हैं और दीर्घवृत्त में प्रासंगिक मान शामिल कर सकते हैं।
zsh प्रांप्ट में एक साधारण संशोधन के लिए, आप इन मानों को .zshrc प्रोफ़ाइल में टाइप कर सकते हैं।
PROMPT='%n~$'
Ctrl + O दबाएं फ़ाइल में वे परिवर्तन करने की पुष्टि करने के लिए, और फिर Ctrl + X . दबाएं नैनो संपादक से बाहर निकलने के लिए।
एक नया टर्मिनल खोलें आपके द्वारा अभी-अभी किए गए परिवर्तनों की पुष्टि करने और देखने के लिए विंडो। आपका नया zsh प्रॉम्प्ट अंत में आपके मैक का यूज़रनेम, होम डाइरेक्टरी और $ सिंबल दिखाएगा।
zsh प्रॉम्प्ट में दिनांक और समय जोड़ें
अपने उपयोगकर्ता नाम के अलावा, आप वर्तमान तिथि या समय जोड़ सकते हैं ताकि आपको उस जानकारी की जांच करने के लिए सक्रिय टर्मिनल विंडो से दूर देखने की आवश्यकता न हो।
टर्मिनल लॉन्च करें और .zshrc प्रोफ़ाइल खोलें।
nano ~/.zshrc
प्रांप्ट में दिनांक शामिल करने के लिए, आप %D का उपयोग yy-mm-dd प्रारूप में प्रदर्शित होने की तिथि के लिए या %W को mm/dd/yy प्रारूप में प्रदर्शित करने के लिए कर सकते हैं। फिर नया प्रॉम्प्ट इस तरह दिखाई देगा
PROMPT='%n:%W:~$'
यदि आप सिस्टम समय को zsh प्रांप्ट में शामिल करना चाहते हैं, तो वर्तमान समय के लिए 24-घंटे के प्रारूप में %T जोड़ें, %t को पूर्वाह्न/अपराह्न या 12-घंटे के प्रारूप में प्रदर्शित होने के समय के लिए, या %* का उपयोग प्रदर्शित करने के लिए करें सेकंड के साथ 24 घंटे के प्रारूप में समय।
PROMPT='%n:%T:~$'
zsh प्रॉम्प्ट में टेक्स्ट में रंग जोड़ें
क्या आप zsh प्रॉम्प्ट के सफ़ेद टेक्स्ट से ऊब चुके हैं? टर्मिनल ऐप को रंगों के साथ संशोधित करने के अलावा, आप टेक्स्ट में कुछ रंग जोड़ सकते हैं ताकि आपको एक अच्छा विज़ुअल ब्रेक मिल सके।
लॉन्च टर्मिनल और .zshrc प्रोफ़ाइल खोलें।
nano ~/.zshrc
zsh रंग और ग्रे के रंगों को शीघ्र पाठ का समर्थन करता है जैसे कि यह पृष्ठभूमि को पूरक करता है। आप काले, सफ़ेद, पीले, हरे, लाल, नीले, सियान और मैजेंटा के बीच अग्रभूमि (पाठ) रंग चुन सकते हैं।
यहां उनका उपयोग करने का तरीका बताया गया है।
PROMPT='%F{cyan}%n%f:~$'
यदि आप एक विशिष्ट शेड चुनना चाहते हैं, तो आप टर्मिनल द्वारा समर्थित 0 से 256 8-बिट रंगों के बीच चयन कर सकते हैं। यहां रंगों के संख्यात्मक मानों का उपयोग करने का तरीका बताया गया है।
PROMPT='%F{51}%n%f:~$'
आप जिस प्रासंगिक टेक्स्ट को रंगना चाहते हैं, उसके बीच आपको %F और %f डिफ़ॉल्ट अग्रभूमि रंग चर रखने होंगे।
zsh प्रॉम्प्ट में विजुअल इफेक्ट्स जोड़ना
यदि प्रॉम्प्ट के टेक्स्ट को रंगना पर्याप्त नहीं है, तो आप अपने zsh प्रॉम्प्ट को हाइलाइट कर सकते हैं ताकि यह टेक्स्ट वॉल के बीच में अलग दिखे और आप इसे आसानी से देख सकें। शुरुआत के लिए, आप zsh प्रॉम्प्ट को बोल्ड कर सकते हैं।
PROMPT='%B%F{51}%n%f%b:~$'
प्रारंभ में %B जोड़ने और प्रासंगिक पाठ के बीच अंत में %b डालने से यह बोल्ड हो जाएगा।
इसी तरह, आप टेक्स्ट को हाइलाइट करने के लिए शुरुआत में %S और अंत में %s डाल सकते हैं। हाइलाइट का वही रंग होगा जिसे आपने %S और %s चरों के बीच प्रदर्शित करने के लिए चुना है।
PROMPT='%S%F{51}%n%f%s:~$'
आप zsh प्रॉम्प्ट के टेक्स्ट को अंडरलाइन भी कर सकते हैं। एक संकेत में एक रेखांकन जोड़ने के लिए, आप शुरुआत में %U चर और प्रासंगिक पाठ के अंत में %u शामिल कर सकते हैं।
PROMPT='%U%F{51}%n%f%u:~$'
अंतिम लॉगिन विवरण zsh प्रॉम्प्ट से हटाएं
टर्मिनल ऐप में अंतिम लॉगिन समय प्रकट करने वाली शीर्ष पंक्ति को छिपाने या अक्षम करने से आपका zsh प्रॉम्प्ट एक क्लीनर रूप दे सकता है। उस जानकारी को छिपाने के लिए आप निम्न कमांड का उपयोग कर सकते हैं।
touch ~/.hushlogin
अगली बार जब आप टर्मिनल खोलेंगे, तो आपको zsh प्रॉम्प्ट के ऊपर कुछ भी दिखाई नहीं देगा।
टर्मिनल में zsh प्रॉम्प्ट को स्पाइस अप करें
यहां तक कि अगर आप कभी-कभी macOS पर टर्मिनल ऐप का उपयोग करते हैं, तो आप जिस तरह से zsh प्रॉम्प्ट दिखाई देते हैं, उसमें बदलाव कर सकते हैं। आप इसमें बोल्ड, अंडरलाइन, शॉर्ट और यहां तक कि तारीख और समय भी शामिल कर सकते हैं।
अब जब आपने zsh प्रॉम्प्ट को कस्टमाइज़ करना शुरू कर दिया है, तो थोड़ा प्रयोग करें और इसे अपना बनाएं।