Dosyayı zsh'nin config dosyasına dahil etmek mümkün müdür? Nasıl?


22

Örneğin bir dosya istiyorum. f sadece zsh takma adları ile (saflık sebepleri). Ardından .zshrc dosyama f dosyasını dahil etmek istiyorum , böylece f'de tanımlanan takma adlar .zshrc'de görülebilir .

Mümkün mü?

Öyleyse, örneğin bir senaryo oluşturabilirim. my_alias( $my_alias ll 'ls -l') f dosyasına dosya adı ekler . Tabiki yapabilirim

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

ama bu .zshrc'yi büyük bir karışıklık yapar .

Ayrıca bash nasıl görünüyor?

GÜNCELLEŞTİRME

Birisi fikrimi paylaşırsa bu çözüm, phunehehe sayesinde:

# 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
}

Yanıtlar:


20

.zshrcve .bashrcscript dosyaları, config dosyaları değil, yani "alias" dosyasını "kaynaklıyorsunuz". Hem Zsh ( .zshrc) ve Bash ( .bashrc) 'de:

. my_alias

my_aliasEtkilerini RC dosyaları ile aynı ortamda çalıştırıp bırakarak etkin bir şekilde kabuktaki diğer adını verir. Tabii ki, sizin de takma adlarla sınırlı değildir. Bir kullanmak .shrchem kaynaklı olduğunu .bashrcve .zshrcortak ihracat, işlevler ve takma adları için.

Kaynak kullanımı hakkında daha fazla bilgi için, bkz . Kabuk betiğini yürütmenin farklı yolları .


31

Bu, .zshrc içinde nasıl yaparım:

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

İyi cevabın için teşekkürler, Sen ve Phunehehe haklısın ama sadece bir cevabı onaylamak mümkün, bu yüzden ilk geldiği güne cevap vermeye karar verdim :)
xliiv

14

Bir dosyayı bir satırda varsa, kaynak yapmak için:

[ -f .aliases ] && source .aliases

Bunun Pat'ın cevabından farkı ne ?
jasonwryan

1
Aynı şey ama bir astar. Google'dan gelmiştim ve aradığım tek şey aradığım şeydi (aynı zamanda bir forumda buldum) bu yüzden bunu paylaşabileceğimi düşündüm;) Ben de onunla gelemezdim. bash aptalım
Matthieu Napoli

1

Kurduktan sonra oh-my-ZSH son satırları arasında.zshrc şunlardır:

# 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"

Yani bazı alternatifleriniz var:

  • Doğrudan ekle .zshrc
  • Bir klasör oluşturun ve sonunda onun yolda ekleyin .zshrc: ZSH_CUSTOM=$HOME/Dropbox/.myzshconfig.
  • ~/.oh-my-zsh/customKlasörü ve git clone git://github.com/yourusername/zsh_config.git .orada kullanın .
  • İle source/ nokta operatörü:

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

    -r FILEolup olmadığını kontrol edin ve okuma izni verilip verilmediğini

    Bu durumda $SHELL, aynı bashı içeren özel bash ve zsh'yi kontrol edebilirsiniz .

Referans


Dropboxing o Nice fikir için teşekkürler
Ariful Haque
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.