Bash - "/" é um diretório

Bash - "/" é um diretório

Isso é realmente confuso...

Atualmente tenho um computador Debian 8 e me conecto a ele usando PuTTY (SSH).
O console padrão usado é o Bash.

Quando tento passar um caminho para um alias, ocorre o seguinte erro:

 -bash: /: Is a directory

Aqui está um exemplo:

massa

Além disso, há um comportamento bizarro: executar '/'ou "/"causar o mesmo erro, como se o Bash estivesse ignorando aspas.


Se for importante, o alias explorerfoi definido assim:

alias explorer='pcmanfm 1>/dev/null 2>&1 &'

Este é o comportamento esperado?
Se não, o que estou fazendo de errado?

Responder1

Da maneira como você escreveu seu alias, o comando executado seria expandido como

pcmanfm 1>/dev/null 2>&1 & '/'

Isso será executado pcmanfmsem nenhuma opção como trabalho em segundo plano eentãotente executar /como um comando.

Você provavelmente quer uma função em vez de um alias

explorer() { pcmanfm "$@" >/dev/null 2>&1 & }

Responder2

O alias fornece uma expansão literal. Então, executando explorer /mapas para

pcmanfm 1>/dev/null 2>&1 & /

Isso é executado pcmanfmem segundo plano, seguido imediatamente por /primeiro plano.

informação relacionada