Digamos que quiero modificar el comportamiento original de la lsherramienta de esta manera:
$ ls
Hello World
file1 file2 ...
¿Cómo puedo hacer esto?
Al ejecutar, lsme gustaría ejecutar otro comando, digamos echo "Hello World!".
La solución rápida que veo es usar un alias:
alias orig_ls="ls"
alias ls='echo "Hello World!"'
Sin embargo, esta no es una solución real, ya que cuando la ejecute orig_lssaldrá "Hello World!".
bash
shell
command-line
alias
Ionică Bizău
fuente
fuente

Respuestas:
A veces, un alias no es lo suficientemente poderoso como para hacer fácilmente lo que quieres, así que aquí hay una manera sin usarlos.
En algunos archivos que se obtienen cuando se inicia su shell (por ejemplo
.bashrc), agregue la siguiente función:A diferencia de un alias, una función puede recurrir. Por eso
command lsse usa en lugar dels; le dice a su shell que use la función real enlslugar de la función que acaba de definir.fuente
commandalternativa para OS X?commandque no funcionó: / No tengo idea y no tengo una Mac para probarlo, lo siento.No debes olvidarte de llamar
ls:fuente
&hecho, pero no entiendo el argumento que haces de eso.