Bash - "/" es un directorio

Bash - "/" es un directorio

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:

masilla

Además, hay un comportamiento extraño: ejecutar '/'o "/"causar el mismo error, como si Bash estuviera ignorando las comillas.


Si importa, el alias explorerse 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á pcmanfmsin 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 pcmanfmen segundo plano, seguido inmediatamente por /en primer plano.

información relacionada