टर्मिनल में, $ से पहले आने वाले पाठ को संशोधित करें


13

टर्मिनल में मैं हमेशा देख सकता हूं कि मैं किस रास्ते पर हूं:

macbook-romeo:School romeovs$ echo "example command"

जो मुझे काफी उपयोगी लगता है। फिर भी यहाँ बहुत सारा अनावश्यक सामान है: macbook-romeoउपयोगी नहीं है क्योंकि मैं हमेशा अपनी मैकबुक (डुह) पर हूँ। तब फिर romeovsसे काफी उपयोगी है (यह मेरा उपयोगकर्ता नाम है)।

क्या यहाँ दिखाया गया है जिसे संपादित करने के लिए कोई वान है? जैसे

22:50 - School - Romeo$ echo "example"

22:50वर्तमान समय कहाँ है? (यह सिर्फ पाठ्यक्रम का एक उदाहरण है, मुझे समय की आवश्यकता नहीं होगी, मैं पाठ का उपयोग थोड़ा अधिक न्यूनतम करने के लिए करना चाहूंगा)।

जवाबों:


11

इस OSX डेली लेख में कुछ विस्तृत निर्देश हैं कि कैसे करना है। संक्षेप में आपको अपनी ~/.bash_profileफ़ाइल को संशोधित करने और PS1 चर को संशोधित करने की आवश्यकता है ।

नीचे आपके द्वारा दिखाए जा सकने वाले संभावित चर की एक सूची दी गई है:

  • \ d - वर्तमान तिथि
  • \ t - वर्तमान समय
  • \ h - होस्ट नाम
  • # - कमांड संख्या
  • \ u - उपयोगकर्ता नाम
  • \ W - वर्तमान कार्यशील निर्देशिका (अर्थात: डेस्कटॉप /)
  • \ w - वर्तमान कार्यशील निर्देशिका, पूर्ण पथ (यानी: / उपयोगकर्ता / व्यवस्थापक / डेस्कटॉप)

11

आपको अपने घर निर्देशिका में .bashrc फ़ाइल को संशोधित करने की आवश्यकता है

टर्मिनल खोलें और निम्न कार्य करें:

  • cd ~
  • touch .bashrc
  • open .bashrc

अपनी .bashrc फ़ाइल के अंत में निम्न पंक्ति जोड़ें

निर्यात PS1 = '\ t - \ W - \ u \ $'

  • फ़ाइल सहेजें और अपना संपादक बंद करें
  • टर्मिनल पर वापस जाएं और निम्न कमांड दर्ज करें:

    source .bashrc

बूम! अब आपके पास अपना वांछित संकेत होना चाहिए! (यदि वांछित संकेत आपके दिए गए उदाहरण थे)


जब मैंने ऐसा किया तो मुझे निम्नलिखित मिला MBP-15:~ Daniel$ source .bashrc -bash: export: = ': एक वैध पहचानकर्ता नहीं: -बाहर: निर्यात:\t - \W - \u$ ': not a valid identifier MBP-15:~ Daniel$
डैनियल कॉम्पटन

@DanielCompton इसे इंगित करने के लिए धन्यवाद, मैंने अपना उत्तर अपडेट कर दिया है ताकि यह काम करे। :)
मकाको

4

इसे शेल चर $ PS1 द्वारा नियंत्रित किया जाता है

आप इस चर को जो भी चाहें, अस्थायी या अधिक स्थायी रूप से .login या .profile स्क्रिप्ट के साथ सेट कर सकते हैं जो शेल के उपयोग पर निर्भर करता है।

उदाहरण के लिए निम्न आउटपुट पर एक नज़र डालें:

Last login: Fri Oct 21 21:59:28 on ttys000

Dans-MacBook-Air:~ stuffe$ echo $PS1

\h:\W \u\$

Dans-MacBook-Air:~ stuffe$ PS1="Hello World $"

Hello World $PS1=`date`

Fri 21 Oct 2011 22:03:23 BSTsleep 60

Fri 21 Oct 2011 22:03:24 BSTPS1="`date +%H:%M` $"

22:04 $PS1="\h:\W \u\$"

Dans-MacBook-Air:~ stuffe$

संभावनाएं अनंत हैं। ऐसा कुछ है जो आप PS2 के साथ भी कर सकते हैं, लेकिन मुझे लगता है कि केवल तभी प्रभावी होता है जब आप रूट होते हैं - विवरण धुंधले होते हैं, मेरा यूनिक्स बहुत समय पहले का है और सोलारिस पर आधारित है, मैक ओएस एक्स नहीं, लेकिन फंडामेंटल समान हैं।

अतिरिक्त जानकारी: जैसा कि अन्य उत्तरों में सुझाया गया है, ऐसे अंतर्निहित झंडे हैं जैसे \ h और \ W आदि जिनका आप उपयोग कर सकते हैं, लेकिन आप "बैक टिक्स" (मजेदार सिंगल कोट्स) का उपयोग करके लगभग किसी भी कमांड के आउटपुट का भी उपयोग कर सकते हैं ऊपर मेरी तारीख उदाहरण में इस्तेमाल किया)। बैक टिक्सेस के अंदर कमांड चलती है और आउटपुट को प्रतिस्थापित किया जाता है, जिससे आपको कुछ भी शामिल करने की अनुमति मिलती है, भले ही ध्वज में कोई भी निर्मित न हो, यहां तक ​​कि प्रतीत होता है कि बेवकूफ सामान के लिए, जो भी आप सोच सकते हैं। त्रुटि लॉग फ़ाइल पर अंतिम प्रविष्टि का समय शामिल करना चाहते हैं? कुछ का उपयोग करें:

PS1="`tail -1 $LOGFILE | awk '{print $1}'` $ "

($ लोगो द्वारा संदर्भित फ़ाइल की अंतिम पंक्ति को पढ़ें, और डिफ़ॉल्ट फ़ील्ड सीमांकक मानकर 1 कॉलम प्रिंट करें) आदि। यदि आप इसे निष्पादित कर सकते हैं, तो आप इसे शामिल कर सकते हैं।

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