Se estou correto, pwd
é um comando, PWD
é uma variável (nome do) e -
in cd -
é um operando.
Quais são os tipos de ~
, ~-
, ~+
, *
quando significam $HOME
o diretório visitado anteriormente, o diretório atual e os arquivos no diretório atual? (da perspectiva das linguagens de programação)
São nomes de variáveis? Se sim, por que echo $~
não funciona?
Por que *
funciona em:
for i in *; do ls "$i"; done
Responder1
*
é um metacaractere (ou curinga), todos os outros são tilde-prefix
exemplos ( ~
é padrão ~+
e ~-
são extensões).
Nenhuma é variável, então não faz sentido prefixá-la com a $
.
echo $~
funciona bem, ele exibe $~
. Não há expansão porque ~
não é usado como prefixo.
for i in *; ...
funciona conforme projetado.