Uso global de 'alias' en Debian 10

Uso global de 'alias' en Debian 10

He intentado agregar el uso global de alias en mi instancia de Debian 10 sin suerte.

Lo que ya intenté es agregar mis alias a /etc/bash.bashrc y agregar este fragmento a /etc/profile para obtenerlo sin que funcione.

if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi

En mi bash.bashrc:

#Aliases 
alias l='ls -la' 
alias ll='ls -l' 
alias la='ls -a'

EDITAR*

¿Cómo creo un alias para "ls"? Por ejemplo, ls='ls -CF'. ¿Como cuando lo uso como alias no funciona?

Respuesta1

Debian debería funcionar con /etc/bash.bashrc. Verifique /etc/passwdy asegúrese de que el usuario esté usando bash shell.

user1:x:1000:1000:User 1:/home/user1:/bin/bash
user2:x:1001:1001:User 2:/home/user2:/bin/zsh

De forma predeterminada, agregar usuarios con useradd o adduser los creará con bash como shell, pero es posible que esto se haya modificado a otro shell (zsh es muy popular). En el ejemplo anterior, el usuario1 usa bash shell y el usuario2 usa zsh. El usuario2 no ejecutará /etc/bash.bashrc al iniciar sesión.

Respuesta2

Mirando mi ~/.bashrcpuedo ver lsque ya está definido como alias ls='ls --color=auto'.

Agregar una nueva lsdefinición de alias a /etc/bash.bashrcas alias ls='ls -CF'no ayuda porque, supongo, la definición ~/.bashrcprevalece.

En mis pruebas, comentar el lsalias definido en mi ~/.bashrchabilitado a uno que agregué para la definición global para etc/bash.bashrcque funcione.

Esto es un poco diferente a cómo Red Hat maneja el alias global, que le permite colocar sus alias globales, /etc/profile.d/[filename].shpero debido a la forma diferente en que están configurados Debian y Red Hat y la relación entre el perfil y los archivos bashrc, esto no parece ser una opción para Debian.

Con esto, quiero decir que Red Hat maneja archivos de perfil/bashrc al obtenerlos para que funcionen para varios shells/tipos de inicio de sesión (como se explica aquí).https://unix.stackexchange.com/questions/170493/login-non-login-and-interactive-non-interactive-shells). Sin embargo, para Debian parece que los archivos /etc/profile.d/*.shsolo se obtienen para shells de inicio de sesión. Pero como mi respuesta anterior aquí fue eliminada, no pude editarla ni aclararla.

Para Debian, si desea que los alias globales funcionen sólo para shells de inicio de sesión, colóquelos, por ejemplo, /etc/profile.d/aliases.sh. De lo contrario, parece que necesitas agregarlos a /etc/bash.bashrc. Teniendo en cuenta que ~/.bashrctendrán prioridad los alias en. Si los alias que usted define no funcionan, entonces es probable que estén definidos en otro lugar y anulen el suyo.

información relacionada