Quando uso o pwd
comando, ele imprime, por exemplo, /opt
em vez de /opt/
. Eu gostaria que imprimisse a barra final. No entanto, tentei adicionar a seguinte linha ao meu ~/.bash_aliases
arquivo:
alias pwd=" echo "${PWD}/" "
Mas não funciona corretamente. Em vez de imprimir meu diretório de trabalho atual com uma barra final, ele imprime o diretório de trabalho em que eu estava no início da sessão do terminal ou na última vez que executei o source ~/.bashrc
comando. Mesmo quando eu nomeio o comando com algo diferente, como cwd
, ele ainda se comporta dessa maneira.
Então - minha pergunta é: posso ter um alias que imprima meu diretório de trabalho atual, seguido por uma barra final?
Obrigado.
Seu problema é que a
$PWD
parte da definição do seu alias não está entre aspas (você fecha a string entre aspas duplas um pouco antes$PWD
e inicia uma nova logo depois). Isso significa que ele é avaliado quando o alias é definido.Em vez disso, use aspas simples em todo o texto do alias, ou melhor ainda * , use uma função shell para substituir o
pwd
comando.Assim (ou usando
echo
, se necessário):Ou, com uma função shell:
* Melhor = evita citações complicadas, mas ainda funciona da mesma maneira que você esperaria.