मैं एक कस्टम Zsh स्थापित के साथ ओह माई जेड को कैसे स्थापित कर सकता हूं?


4

तो, मैं सिर्फ एक मशीन पर zsh स्थापित करने में कामयाब रहा हूं, जो मेरे पास SSH पहुंच है (लेकिन महत्वपूर्ण रूप से, कोई रूट एक्सेस नहीं) सुझावों के अनुसार यहाँ । मैं तब ओह माई ज़श को स्थापित करने का प्रयास करने के लिए आगे बढ़ा, और इस संदेश के द्वारा अभिवादन किया गया:

Zsh is not installed! Please install zsh first!

जो आश्चर्य की बात नहीं थी। स्थापित स्क्रिप्ट का निरीक्षण करने पर, अगर zsh स्थापित है तो जाँच के लिए कोड है:

CHECK_ZSH_INSTALLED=$(grep /zsh$ /etc/shells | wc -l)
if [ ! $CHECK_ZSH_INSTALLED -ge 1 ]; then
    printf "${YELLOW}Zsh is not installed!${NORMAL} Please install zsh first!\n"
    exit
fi
unset CHECK_ZSH_INSTALLED

इसलिए, रूट एक्सेस के बिना, मैं / etc / गोले संपादित नहीं कर सकता। यह भी ध्यान रखना महत्वपूर्ण है कि जब मैं इस प्रणाली में एसएसएच करता हूं, तो मैं जरूरी नहीं कि उसी भौतिक मशीन में प्रवेश कर रहा हूं; बल्कि, मुझे कई मशीनों में से एक में लॉग इन किया जाता है, जिसमें मेरे होम डायरेक्टरी की नकल की जाती है। वर्तमान में मेरे पास कोड है .profile वह जोड़ता है ~/bin मेरे लिए $PATH और लॉगिन पर zsh लॉन्च करता है।

अनिवार्य रूप से, क्या इसके आसपास कोई रास्ता है? मुझे लगता है कि स्थापित स्क्रिप्ट को संशोधित किया जा सकता है समायोजित करने के लिए zsh स्थापित किया जा रहा ~ / बिन / zsh, लेकिन सिर्फ आँख बंद करके जाँच तर्क निश्चित रूप से कुछ भी नहीं लगता है अगर नहीं सलाह दी।

जवाबों:


8

रोकने के लिए जाँच तर्क ही है chsh स्थापना के अंत में विफल होने से। यदि आपका zsh बाइनरी में सूचीबद्ध नहीं है /etc/shells, आप उपयोग करने में असमर्थ होंगे chsh अपना लॉगिन शेल बदलने के लिए। उस मामले में चल रहा है ~/bin/zsh आपके वर्तमान लॉगिन गोले में से एक स्टार्टअप फाइल लॉन्च करने का एकमात्र तरीका है zsh खुद ब खुद। जैसा ~/.profile आमतौर पर केवल लॉगिन सत्र के लिए उपयोग किया जाता है, यह ठीक होना चाहिए आप चलाना चाह सकते हैं zsh -l वहाँ से सिर्फ एक इंटरएक्टिव सत्र के बजाय एक लॉगिन सत्र प्राप्त करने के लिए (यह अलग है जिसमें कॉन्फ़िगरेशन फ़ाइलें भरी हुई हैं)।

स्थापित करने के लिए ओह-मेरी-zsh , आपको या तो कोड से कुछ पट्टी करनी होगी install.sh: प्रश्न में उल्लिखित चेक और जहां यह स्वचालित रूप से चलाने की कोशिश करता है chsh। या आप बस निम्नलिखित दो कमांड चलाते हैं:

git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
cp $HOME/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

जब तक आप स्थापित नहीं करना चाहते ओह-मेरी-zsh के अलावा कहीं और ~/.oh-my-zsh और कुछ नहीं चाहिए। में बाकी सब कुछ install.sh सिर्फ:

  • पहले से मौजूद अधिलेखित करने के खिलाफ सुरक्षा उपाय ओह-मेरी-zsh उसी स्थान पर स्थापना, जो git clone वैसे भी रोकेगा
  • समर्थन करना ~/.zshrc, जो शायद आपके पास एक ताजा स्थापना पर नहीं है
  • लॉगिन शेल सेट करना, जो आपके मामले में वैसे भी काम नहीं करता है
  • और बहुत सारे रंगीन आउटपुट।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.