Zsh (ओह-माय-ज़श) चलाते समय bash_prompt (bash script) को सोर्स करना


1

मेरे पास एक थीम है जो में लिखा गया है bash(मुझे लगता है)। हालांकि, मैंने zshअपने शेल के लिए उपयोग करने का फैसला किया है । अधिक विशेष रूप से, मैं ओह-माय-ज़श (एक अनुकूलित zshमेरा मानना ​​है) का उपयोग कर रहा हूं ।

मैं जिस विषय का उपयोग करना चाहता हूं वह वर्तमान में एक फ़ाइल में है .bash_prompt, जिसे .bash_profileडिफ़ॉल्ट शेल होने पर पीछे से खट्टा किया जा रहा था bash।

वैसे भी क्या मैं ओह-माय-ज़श को इस प्रॉम्प्ट का उपयोग करने के लिए कह सकता हूं? मैं समझता हूं कि zshइसमें थोड़ी अलग वाक्य रचना / भाषा है bash, इसलिए इसे .zshrcबहुत सारी त्रुटियों से सीधे फेंकता है।


क्या आप हमें वह "थीम" दिखा सकते हैं .bash_prompt? किन त्रुटियों को विशेष रूप से दिखाया गया है?
— slhck

यहाँ हम हैं। यहाँ त्रुटियाँ हैं: .dotfiles/bash/bash_prompt:44: parse error near ]] ``
— ओलिवर जोसेफ ऐश

वे डबल ब्रैकेट टेस्ट कमांड हैं। (देखें tldp.org/LDP/abs/html/testconstructs.html#DBLBRACKETS )। आप उस एकल कोष्ठक या / बिन / परीक्षण (जो एक एकल कोष्ठक के समान है) को प्रतिस्थापित करना चाह सकते हैं।
— हेन्नेस

सही, मेरे पास अगली त्रुटि यह है .dotfiles/bash/bash_prompt:47: = not found:। लगता है zshऔर bashइस तरह के बीच कुछ छोटे अंतर हो सकते हैं, अगर वे कहीं एक ही स्थान पर प्रलेखित हों तो अच्छा होगा?
— ओलिवर जोसफ ऐश

जवाबों:


5

नहीं, आप आम तौर पर कुछ संशोधन के बिना गैर-तुच्छ bashलिपियों का स्रोत नहीं बना सकते zsh।

Z-Shell, Korn Shell [ ksh] के समान है , जबकि Bourne शेल [ ]bash का सुपरसेट है ।sh

गोले और गोले के बीच कुछ वाक्यविन्यास अंतर हैं। हालांकि और इसमें फ़ीचर क्रॉसओवर है , कार्यान्वयन विवरण कुछ मामलों में भिन्न हैं।shkshbashzsh

यह if [[ "$VAR" ]];लिंक किए गए स्क्रिप्ट में उपयोग किए गए निर्माणों के साथ विशेष रूप से ध्यान देने योग्य है (वे काम नहीं करते हैं zsh- if [ $VAR ];हालांकि,)।

हालांकि, लिंक किए गए स्क्रिप्ट को प्राप्त करने के लिए आवश्यक संशोधन zshबहुत कम है।


स्पष्टीकरण के लिए धन्यवाद। तो क्या ये गोले भाषाओं के रूप में संदर्भित हैं?
— ओलिवर जोसेफ ऐश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.