Tengo Ubuntu 14.04.2. Quiero hacerlo para que todos los usuarios tengan automáticamente un conjunto específico de alias. Tengo mis alias configurados en mi .bashrc personal, pero no quiero tener que copiarlos manualmente en los otros usuarios. Idealmente, también debería establecerlos automáticamente para los usuarios recién creados.
38
Respuestas:
Puede crear un script
/etc/profile.d/
para crear alias para todos los usuarios:Cree un archivo llamado
00-aliases.sh
(o cualquier otro nombre elegante) en/etc/profile.d
:Ponga alias en este archivo. Ejemplo:
Guarda el archivo
Algunas notas:
/etc/profile
es un archivo global que se ejecuta antes~/.profile
./etc/profile.d/
es una carpeta que contiene scripts llamados por/etc/profile
Cuando
/etc/profile
se llama (cuando inicia / inicia sesión en un shell), busca los archivos que terminan.sh
en/etc/profile.d/
y los ejecuta con uno de estos comandos:00-
antes del nombre del archivo para que se ejecute antes que el resto de los scripts./etc/profile
, pero esto no es recomendable.fuente
.sh
archivos en/etc/profile.d/
(o/etc/profile
) se definirán solo para shells de inicio de sesión y no funcionarán en shells interactivos que no sean de inicio de sesión. A diferencia de las variables de entorno, bash no puede exportar alias a procesos secundarios, ni siquiera shells secundarios. Puede parecer que este método funciona correctamente si solo se prueba en shells de inicio de sesión, como el shell original obtenido al iniciar sesión en una consola virtual o mediante SSH, pero falla en sus shells secundarios y también falla en shells iniciados por las ventanas de terminal GUI.Como se señaló aquí , probablemente sea mejor agregar alias globales en
/etc/bash.bashrc
:, porque los scripts
/etc/profile.d
pueden ignorarse para ciertos shells (sin inicio de sesión). Me llevó horas descubrir por qué/etc/profile.d
no funcionó.Ver, por ejemplo, https://askubuntu.com/a/606882/ y Understanding .bashrc and .bash_profile para la distinción entre shells.
fuente
Un alias solo funcionará dentro de un shell. Si desea algo tan accesible como un ejecutable, puede agregar un pequeño script de acceso directo a
/usr/bin
, por ejemplo:El
"$@"
pasa todos los argumentos al ejecutable. El nombre del script será el nombre del ejecutable.Fuente: https://unix.stackexchange.com/a/52509/15954
fuente
/ etc / bashrc
NO es una buena idea cambiar este archivo a menos que sepa lo que está haciendo. Es mucho mejor crear un script de shell custom.sh en /etc/profile.d/ para realizar cambios personalizados en su entorno, ya que esto evitará la necesidad de fusionarse en futuras actualizaciones.
fuente