![Uso global de 'aliases' no Debian 10](https://rvso.com/image/756221/Uso%20global%20de%20'aliases'%20no%20Debian%2010.png)
Tenho tentado adicionar o uso global de aliases na minha instância do Debian 10, sem sorte.
O que já tentei foi adicionar meus aliases a /etc/bash.bashrc, bem como adicionar este trecho a /etc/profile para obtê-lo sem que funcione.
if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi
No meu bash.bashrc:
#Aliases
alias l='ls -la'
alias ll='ls -l'
alias la='ls -a'
EDITAR*
Como faço para criar um alias para “ls”. Por exemplo, ls='ls -CF'. Como quando eu uso como alias não funciona?
Responder1
O Debian deve funcionar com /etc/bash.bashrc. Verifique /etc/passwd
e certifique-se de que o usuário esteja usando o shell bash.
user1:x:1000:1000:User 1:/home/user1:/bin/bash
user2:x:1001:1001:User 2:/home/user2:/bin/zsh
Por padrão, adicionar usuários com useradd ou adduser irá criá-los com bash como shell, mas isso pode ter sido modificado para outro shell (zsh é muito popular). No exemplo acima, o usuário1 está usando o shell bash e o usuário2 está usando o zsh. O usuário2 não executará /etc/bash.bashrc no login.
Responder2
Olhando para o meu ~/.bashrc
posso ver ls
que já está definido como alias ls='ls --color=auto'
.
Adicionar uma nova ls
definição de alias a /etc/bash.bashrc
as alias ls='ls -CF'
não ajuda porque, presumo, a definição in ~/.bashrc
é predominante.
Em meus testes, comentando o ls
alias definido em meu ~/.bashrc
habilitado para um que adicionei para definição global etc/bash.bashrc
funcionar.
Isso é um pouco diferente de como o Red Hat lida com o alias global, o que permite que você coloque seus aliases globais, /etc/profile.d/[filename].sh
mas devido à forma diferente como o Debian e o Red Hat são configurados e o relacionamento entre o perfil e os arquivos bashrc, isso não parece para ser uma opção para o Debian.
Com isso, quero dizer que o Red Hat lida com arquivos de perfil/bashrc, fornecendo-os para que funcionem para vários tipos de shells/login (conforme explicado aquihttps://unix.stackexchange.com/questions/170493/login-non-login-and-interactive-non-interactive-shells). No entanto, para o Debian, parece que os arquivos /etc/profile.d/*.sh
são provenientes apenas de shells de login. Mas como minha resposta anterior aqui foi excluída, não consegui editar e esclarecer.
Para o Debian, se você deseja que os aliases globais funcionem apenas para shells de login, coloque-os, digamos, /etc/profile.d/aliases.sh
. Caso contrário, parece que você precisa adicioná-los ao arquivo /etc/bash.bashrc
. Lembrando que os aliases ~/.bashrc
terão precedência. Se os aliases que você definir não funcionarem, é provável que eles estejam definidos em outro lugar e substituam os seus.