en apuntes, software libre

Comando alias, paths completos y otra yerbas…

Hace unos meses en la lista de _GRULIC_ se armo “una discusión sobre el uso de alias sobre comandos básicos”:http://proposicion.org.ar/lurker/message/20090812.021722.4cb825da.es.html a la hora de que estos sean usado en _scripts_.

El hilo se llamaba *una razón para no usar ‘alias ls=”ls –color”‘* y quien hacia el planteo comentaba que al hacer un _script_, este le arrojaba un extraño error que tenia su origen en el mecanismo de “alias de comandos”:http://clinuxera.org/gulp/?p=704.

Entonces se plantea como primera conclusión, que era importante no usar ese dichoso comando, alias, para los comandos, porque podía dar origen a este tipo de problemas.

Allí es el momento donde intervienen los mas experimentados en programación, y rectifican la conclusión, diciendo que el problema no es si usar o no usar el comando _alias_, sino que en todo _script_ medianamente serio, no deben invocarse los comandos sin mas, como cuando estamos trabajando en el _Shell_ sino que debe invocarse el _path_ completo, es decir, la ruta completa del binario.

Así, por ejemplo, invocar a _ls_ en un _script_ no es simplemente escribiendo dicho comando, sino escribiendo */bin/ls*.

En realidad, esta necesidad (la de poner la ruta completa al ejecutable) no se basa solo en el hecho del comando alias, sino que al estar llamando a un programa, si no se lo invoca con su dirección absoluta, como es bien explicado por uno de los intervinientes en la discusión:

bq. […] en gral. en scripts siempre es buena idea usar los paths
completos a los programas. Justamente para evitar problemas con
distintos valores de PATH (por ejemplo porque ha cambiado el usuario
que ejecuta el script) y esquivar problemas de alias en el shell
como estos.

La lectura de este hilo se dio en un contexto que por motivos de laburo yo mismo estaba probando mucho de _scripts_ y haciendo pequeñas funcionalidades para automatizar algunas tareas.

Por eso, y como me sirvió, lo quería compartir.

Loading Facebook Comments ...

¿Algo para decir?

Comentario

Loading Disqus Comments ...