
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:
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 explorer
foi 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 pcmanfm
sem 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 pcmanfm
em segundo plano, seguido imediatamente por /
primeiro plano.