Na maioria das shells - sh, bash, csh ..., - a sintaxe $NAME
denota variáveis (semelhante a %NAME%
no Windows cmd.exe); geralmente variáveis de ambiente, mas várias delas são internas ao shell.
(Mas note que esta convenção também se estende às vezes às instruções escritas, onde você seria esperado substituir mentalmente os valores ao ler o texto.)
Da mesma forma, algumas linguagens de programação - PHP, Perl - também usam $name
para nomes de variáveis.
No seu exemplo, $PWD
é um envvar automático que se expande para o caminho do diretório atual:
> cd /etc/modprobe.d
> echo $PWD
/etc/modprobe.d
Então, para salvar um arquivo "para $ PWD" você não precisaria fazer nada especial; tentando abrir um nome de arquivo simples sem caminho já usa o diretório atual.
Se você tivesse recebido uma variável personalizada diferente, você teria que usar getenv("NAME")
para obter seu valor em um programa C ++.
Você pode usar env
para ver todas as variáveis de ambiente, mas também verificar a documentação do shell para algumas incomuns.