Uso global de 'aliases' no Debian 10

Uso global de 'aliases' no Debian 10

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/passwde 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 ~/.bashrcposso ver lsque já está definido como alias ls='ls --color=auto'.

Adicionar uma nova lsdefinição de alias a /etc/bash.bashrcas alias ls='ls -CF'não ajuda porque, presumo, a definição in ~/.bashrcé predominante.

Em meus testes, comentando o lsalias definido em meu ~/.bashrchabilitado para um que adicionei para definição global etc/bash.bashrcfuncionar.

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].shmas 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/*.shsã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 ~/.bashrcterã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.

informação relacionada