Onde está o alias para ll definido

3

Eu frequentemente me encontro usando ll , que é um alias.

$ type ll
ll is an alias for ls -lh

Sempre quis saber onde isso foi definido, pois funciona em bash , zsh , mas não em sh :

# THIS IS SH
$ ll
sh: 1: ll: not found
    
por Nils ANDRÉ-CHANG 23.02.2018 / 20:01

1 resposta

7

No Ubuntu, esse alias é definido por padrão no arquivo ~/.bashrc , no meu assim:

$ grep "alias ll" ~/.bashrc
alias ll='ls -alF'

Outro arquivo lido por padrão é o ~/.bash_aliases . Pode não existir até você criá-lo, mas é a maneira recomendada de armazenar aliases, pois mantê-los em um arquivo separado fornece clareza. Seu ~/.bashrc contém a seção a seguir, a expressão if na qual carrega esse arquivo de aliases, se existir:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Quanto a zsh , suponho que o alias esteja definido da mesma maneira no arquivo ~/.zshrc ou em qualquer arquivo originado por ele. Se você usa oh-my-zsh , ele pode estar contido em lib/directories.zsh ou plugins/common-aliases/common-aliases.plugin.zsh .

sh (= dash no Ubuntu) lê somente ~/.profile , que normalmente não contém aliases, pois são definidos como específicos do shell. No caso de um alias tão simples quanto alias ll='ls -lh' , você poderia escolher uma definição em ~/.profile . Outras leituras: Existe um arquivo equivalente “.bashrc” lido por todos os shells?

    
por dessert 23.02.2018 / 20:05