É possível incluir o arquivo no arquivo de configuração do zsh? Como?

17

Eu gostaria de ter um arquivo, por exemplo. f com apenas aliases zsh (motivos de pureza). Então eu gostaria de incluir o arquivo f no meu arquivo .zshrc , para que os aliases definidos em f fiquem visíveis em . zshrc .

É possível?

Se for, eu poderia criar um script, por exemplo. my_alias ( $my_alias ll 'ls -l' ) que anexa alias ao arquivo f . Claro que eu poderia fazer

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

mas isso faz de .zshrc uma grande bagunça.

Além disso, como é que parece no bash?

UPDATE

Se alguém compartilhar minha ideia, isso é solução, graças a phunehehe:

# 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
}
    
por xliiv 14.10.2012 / 12:43

4 respostas

18

.zshrc e .bashrc são arquivos de script, não arquivos de configuração, portanto, você "origina" o arquivo de alias. Em Zsh ( .zshrc ) e Bash ( .bashrc ) similares:

. my_alias

executará my_alias e deixará seus efeitos no mesmo ambiente com os arquivos RC, fornecendo efetivamente os aliases no shell. Claro, você também não está limitado a aliases. Eu uso um .shrc originado por .bashrc e .zshrc para exportações, funções e aliases comuns.

Para mais informações sobre sourcing, consulte Diferentes maneiras de executar um script de shell .

    
por 14.10.2012 / 15:23
23

Isto é, como faço no meu .zshrc:

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

Para criar um arquivo se ele existir em uma linha:

[ -f .aliases ] && source .aliases
    
por 18.03.2015 / 03:30
0

Depois de instalar oh-my-zsh as últimas linhas de .zshrc são:

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

Então você pode algumas alternativas:

  • Adicione diretamente a .zshrc
  • Crie uma pasta e adicione nela o caminho no final de .zshrc : ZSH_CUSTOM=$HOME/Dropbox/.myzshconfig .
  • Use a pasta ~/.oh-my-zsh/custom e git clone git://github.com/yourusername/zsh_config.git . lá.
  • Com o operador source / dot:
# CUSTOMIZATION FOR ZSH
if [ -r ~/Dropbox/.myzshrc ]; then
    source ~/Dropbox/.myzshrc
fi

-r FILE verificar se existe permissão de leitura e é concedida.

Nesse caso, você pode verificar $SHELL para bash e zsh personalizados, incluindo o mesmo arquivo.

Referência

por 05.10.2017 / 04:21