क्या zsh की कॉन्फिग फाइल में फाइल को शामिल करना संभव है? कैसे?


22

मुझे एक फ़ाइल पसंद है। केवल zsh उपनाम (शुद्धता कारणों) के साथ। तब मैं अपने .zshrc फ़ाइल में f फ़ाइल शामिल करना चाहता हूं , ताकि f में परिभाषित उपनाम .zshrc में दिखाई दें ।

क्या यह संभव है?

यदि यह है, तो मैं एक स्क्रिप्ट बना सकता हूं। my_alias( $my_alias ll 'ls -l') जो एफ फाइल करने के लिए उपनाम देता है । बेशक मैं कर सकता था

$echo {alias command} >> ~/.zshrc

लेकिन यह बनाता है एक बड़ा गड़बड़।

इसके अतिरिक्त कैसे यह बैश में दिखता है?

अद्यतन करें

अगर कोई मेरे विचार को साझा करता है तो यह समाधान है, धन्यवाद के लिए धन्यवाद:

# source aliases
ALIASFILE=~/.aliasesrc
source $ALIASFILE
function add_alias() {
    if [[ -z $1 || -z $2 || $# -gt 2 ]]; then
        echo usage:
        echo "\t\$$0 ll 'ls -l'"
    else
        echo "alias $1='$2'" >> $ALIASFILE
        echo "alias ADDED to $ALIASFILE"
    fi
}

जवाबों:


20

.zshrcऔर .bashrcस्क्रिप्ट फ़ाइलें हैं, फ़ाइलों को कॉन्फ़िगर नहीं करते हैं, इसलिए आप उपनाम फ़ाइल को "स्रोत" करते हैं। Zsh में ( .zshrc) और बैश ( .bashrc) एक जैसे:

. my_alias

my_aliasआरसी फ़ाइलों के साथ एक ही वातावरण में इसके प्रभाव को चलाएगा और छोड़ देगा, प्रभावी रूप से आपको शेल में उपनाम देगा। बेशक, आपका या तो उपनामों तक सीमित नहीं है। मैं .shrcदोनों के लिए .bashrcऔर .zshrcआम निर्यात, कार्यों और उपनामों के लिए उपयोग किया जाता है।

सोर्सिंग पर अधिक जानकारी के लिए शेल स्क्रिप्ट को निष्पादित करने के विभिन्न तरीके देखें ।


31

यह है, मैं इसे अपने .zshrc में कैसे करता हूं:

if [ -f ~/.zsh/zshalias ]; then
    source ~/.zsh/zshalias
else
    print "404: ~/.zsh/zshalias not found."
fi

अच्छे उत्तर के लिए धन्यवाद, आप और फुनेह सही हैं, लेकिन केवल एक ही उत्तर को मंजूरी देना संभव है, इसलिए मैंने यह तय करने के लिए यह तय किया कि वह पहले था :)
xliiv

14

किसी फ़ाइल को स्रोत के लिए यदि वह एक पंक्ति में मौजूद है:

[ -f .aliases ] && source .aliases

पैट के जवाब के लिए यह कैसे अलग है ?
जसोनव्रीयन

1
एक ही बात लेकिन एक लाइनर। मैं Google से आया था और एक लाइनर वही था जिसकी मुझे तलाश थी (उसी समय एक मंच पर मिला) तो मैंने सोचा कि मैं भी इसे साझा कर सकता हूं;) मैं इसके साथ आने में सक्षम नहीं था। बश में एम गूंगा
मैथ्यू नपोली

1

स्थापित करने के बाद ओह-मेरी-ZSH पिछले लाइनों के.zshrc हैं:

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.  
# For a full list of active aliases, run `alias`.
# 
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

तो आपके पास कुछ विकल्प हैं:

  • से सीधे जोड़ें .zshrc
  • एक फ़ोल्डर बनाएँ और इसके रास्ते में जोड़ें .zshrc: के अंत में ZSH_CUSTOM=$HOME/Dropbox/.myzshconfig
  • ~/.oh-my-zsh/customफ़ोल्डर और git clone git://github.com/yourusername/zsh_config.git .वहाँ का उपयोग करें ।
  • साथ source/ डॉट ऑपरेटर:

    # CUSTOMIZATION FOR ZSH
    if [ -r ~/Dropbox/.myzshrc ]; then
        source ~/Dropbox/.myzshrc
    fi

    -r FILEजाँच करें कि क्या मौजूद है और पढ़ने की अनुमति दी गई है।

    इस मामले में आप $SHELLकस्टम बैश और zsh को एक ही फाइल सहित देख सकते हैं ।

संदर्भ


ड्रॉपबॉक्सिंग के अच्छे विचार के लिए धन्यवाद
अरफुल हक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.