alias “nautilus $ (pwd)” não abre no diretório pwd

0

Estou usando o gerenciador de arquivos nautilus e criei o arquivo ~/.bash_aliases com a linha

alias naut="nautilus $(pwd) >/dev/null 2>&1 & disown;"

Então eu executo

source ~/.bashrc

Então, quando eu digitar o comando naut , o gerenciador de arquivos não abrirá no diretório pwd , mas no diretório em que eu executei pela última vez source ~/.bashrc . O que é estranho, porque quando eu crio um alias

alias naut="pwd; nautilus $(pwd) > /dev/null 2>&1 & disown;"

o comando naut sempre retorna meu diretório de trabalho atual, enquanto abre o nautilus em outro diretório.

Como isso é possível?

    
por AlphaOmega 15.12.2016 / 16:30

1 resposta

3

man bash :

% bl0ck_qu0te%

Como consequência, na sua definição $(pwd) é expandido quando o alias é definido, não quando é executado. Use aspas simples ao redor do lado direito da definição do alias.

Por outro lado, como Bharadwaj Raju observa, o diretório de trabalho atual é sempre . , então nautilus "$(pwd)" é o mesmo que nautilus . . E você provavelmente quer duplicar aspas em torno de $(pwd) .

    
por AlexP 15.12.2016 / 17:51