Digamos que tengo el siguiente alias en bash alias ls='ls --color=auto'
- y quiero llamar a ordinario ls
sin opciones. ¿La única forma de hacerlo es unalias, hacer el comando y luego alias nuevamente? ¿O hay algún truco ingenioso o solución alternativa?
164
Respuestas:
También puede prefijar una barra diagonal inversa para deshabilitar el alias:
\ls
Editar: Otras formas de hacer lo mismo incluyen:
Utilice "comando":
command ls
según Mikel .Utilice la ruta completa:
/bin/ls
según Uther .Cita el comando:
"ls"
o'ls'
según el comentario de Mikel.Puede eliminar el alias temporalmente para esa sesión de terminal con
unalias command_name
.fuente
command
obuiltin
.l\s
hace lo mismo. ¿Es este comportamiento un error o una característica?Para eso es el
command
comando.Tratar
Esto le dice al shell que omita los alias y las funciones.
De esta manera es compatible con bash , zsh y ash / dash.
fuente
El alias es solo un acceso directo definido. En este ejemplo, el alias definido es la cadena
ls
, que se ejecutals --color=auto
. Si no desea ese comportamiento, puede llamar al binariols
utilizando la ruta absoluta.Entonces ejecutar solo
/bin/ls
producirá resultados sin color porque no es el alias que definió.También puede cambiar el alias a algo diferente o agregar un nuevo alias que se ejecute
ls
sin los parámetros de color.fuente
/bin
y/usr/bin
es arbitraria.which
para algunos comandos:which ls
.which
(otype
), realiza una búsqueda a través de$PATH
; también podría usarls
o en\ls
lugar de especificar la ruta.Otra forma, sobre la base de la respuesta de @ uther, es usar
$(which ...)
o`which ...`
(usando backticks``
) para encontrar automáticamente la ruta del ejecutable. Esto funcionará enbash
:Sin lugar a dudas, simplemente prefijar el comando con a
\
es mucho más corto.ACTUALIZACIÓN : ¿Cómo utilizar `which` en un comando con alias? , esto no parece ser confiable en absoluto.
fuente
`which ls`
a ejecutar el binario directamente.(which ls)
, no funcionó para mí (en Ubuntu 12.04 LTS) Y los backticks fueron duros, simplemente escapé de ellos: \ `which ls \`. Tomó mucha edición llegar allí :)$
?Personalmente, evito definir alias con los mismos nombres que los comandos, por lo que
ls
siempre invoca el comando real. Tengo alias o funciones para diferentes combinaciones de opciones comol
,ll
, ylg
. (Esto significa que necesitounalias ls
en mi.bashrc
o.cshrc
.)Encuentro que las suposiciones del sistema operativo sobre las opciones que podría preferir (anulando las suposiciones de los diseñadores del
ls
comando en sí) rara vez coinciden con mis gustos personales. Resulta que no me gusta el aspecto dels --color=auto
, y su legibilidad puede variar mucho entre negro sobre blanco y blanco sobre negro.YMMV, y las otras soluciones, por supuesto, aún son buenas para conocer.
fuente
Escribir el comando en mayúsculas parece funcionar
LS
, aunque no estoy seguro de por qué.fuente
LS - display animations aimed to correct users who accidentally enter LS instead of ls.