Para comandos simples como less
, ¿es mejor hacer un alias o exportar las opciones? ¿Hay algún beneficio de uno sobre el otro?
Por ejemplo, si quiero less
usar siempre la -R
opción para mostrar caracteres sin formato, ambas soluciones funcionan:
export LESS='-R'
alias less='less -R'
Para un caso simple como este, ¿hay algún beneficio de uno sobre el otro? ¿Algún escenario donde uno causará problemas y el otro no?
He leído varias páginas info
y man
también en Google, pero todavía estoy atascado en esto.
less
que pueda hacerlo usandolesskey
)Respuestas:
Una diferencia entre los dos es que los alias son solo una función de shell. Las variables de entorno son heredadas por todos los subprocesos (a menos que se borren deliberadamente).
La variable de entorno sería más probable que funcione incluso si
less
se lanzó indirectamente, como a través de otro shell (por ejemplotcsh
),man
,vim
,psql
, etc.fuente
bash -c 'alias ll="ls -l"; ll'
no usará el alias.export LESS='-R'
en mi .zshrc, abro una sesión zsh y luego cambio a bash en esa misma sesión (sin exportación en .bashrc), ¿la variable de entorno aún se establecerá? Yo hubiera pensado tanto se perdería ....Depende en gran medida de la herramienta que esté utilizando. Habrá herramientas que le permitirán usar cualquiera, otras que solo permitirán una.
Hay comandos que son llamados por otros y leen las variables de entorno y aceptan los mismos conmutadores, pero agregar a cada uno el mismo conmutador es una molestia, como los compiladores
make
, ya que aquí brillan las variables de entorno. Estableces la variable y te olvidas de ella. También es una ventaja que puede ser temporal y funcionar para un solo comando.En pocas palabras, es una cuestión de preferencias y la mejor acción para la tarea, habrá momentos en los que configurar un alias es más fácil y permanente que una variable de entorno y otros momentos en los que necesita una serie de herramientas que se comporten de la misma manera que lo haría Variables del entorno de amor.
fuente