Esto es realmente confuso...
Actualmente tengo una computadora Debian 8 y me conecto a ella usando PuTTY (SSH).
La consola predeterminada utilizada es Bash.
Cuando intento pasar una ruta a un alias, aparece el siguiente error:
-bash: /: Is a directory
Aquí hay un ejemplo:
Además, hay un comportamiento extraño: ejecutar '/'
o "/"
causar el mismo error, como si Bash estuviera ignorando las comillas.
Si importa, el alias explorer
se definió así:
alias explorer='pcmanfm 1>/dev/null 2>&1 &'
Es este el comportamiento esperado?
Si no, ¿qué estoy haciendo mal?
Respuesta1
De la forma en que escribió su alias, el comando que ejecute se expandirá como
pcmanfm 1>/dev/null 2>&1 & '/'
Esto se ejecutará pcmanfm
sin ninguna opción como trabajo en segundo plano yentoncesIntente ejecutarlo /
como un comando.
Probablemente quieras una función en lugar de un alias
explorer() { pcmanfm "$@" >/dev/null 2>&1 & }
Respuesta2
El alias proporciona una expansión literal. Así que ejecutar explorer /
mapas para
pcmanfm 1>/dev/null 2>&1 & /
Esto se ejecuta pcmanfm
en segundo plano, seguido inmediatamente por /
en primer plano.