Supongo que ya sabe cómo crear un alias en Linux. Un alias le ayuda a ejecutar fácilmente comandos personalizados extensos. Puede hacer que el alias sea permanente agregándolo a su bashrc o al archivo de configuración de cualquier shell que esté ejecutando en Linux.
El problema surge cuando intentas ejecutar el alias con sudo. Verá un error como este:
sudo: my_alias: command not found
Aquí hay un ejemplo. Creé un alias up
para apt update
dominio. El comando de actualización apt debe ejecutarse con sudo. Pero si intento ejecutar sudo up
, da un error:
Pensará que, dado que se está ejecutando como usuario root, el alias debe definirse en el bashrc del usuario root, es decir, /.bashrc. Adelante, pruébalo, pero apuesto a que no funcionará.
Déjame mostrarte un pequeño truco para ejecutar un comando de alias con sudo.
Ejecutar comando alias con acceso sudo
El truco es crear un alias para sudo como este:
sudo='sudo '
El espacio (o tabulador, si lo prefiere) después de sudo es importante en el código anterior. Ahora, si ejecuta su comando de alias con sudo, debería funcionar bien.
¿Pero por qué? ¿Por qué funciona ahora cuando todo lo que hiciste fue reemplazar el comando sudo con sudo y un espacio? La respuesta radica en la forma en que se diseñó el uso de alias.
Si consulta la parte del alias del manual de bash, verá que la primera palabra de cada comando simple, si no está entre comillas, se verifica para ver si tiene un alias. Si el último carácter del valor del alias es un espacio o un carácter de tabulación, la siguiente palabra de comando que sigue al alias también se comprueba para la expansión del alias.
En otras palabras, en un comando solo se verifica la primera palabra en busca de alias. Pero si el valor del alias tiene un espacio o tabulación al final, la siguiente palabra del comando también se comprueba en busca de un alias.
Esta es la razón por la que cuando simplemente ejecuta el comando sudo my_alias con el alias de sudo como 'sudo', primero se verifica el alias de sudo. Se encuentra un alias con un espacio al final y, por lo tanto, su sistema verifica la siguiente palabra en busca de un alias. También encuentra el alias para este y su comando con alias funciona como usted quiere que sea.
Espero que les haya gustado este pequeño y rápido consejo útil para ejecutar alias con sudo. Cualquier pregunta o sugerencia siempre es bienvenida.