Para o caso específico de /etc/environment
, não, um $
no valor da variável não significa nada de especial. /etc/environment
é um arquivo lido por um módulo PAM chamado pam_env
e pam_env
tem uma sintaxe específica para interpretar $
:
- Em
/etc/environment
, não é interpretado. -
Em
/etc/security/pam_env.conf
e~/.pam_environment
(um arquivo específico do usuário),pam_env
trata$
especialmente quando vê linhas com a seguinte sintaxe:FOO DEFAULT=SOMETHING${BAR}SOMETHINGELSE$BAR FOO OVERRIDE=SOMETHING${BAR}SOMETHINGELSE$BAR
Nesse caso,
${BAR}
é substituído pelo valor da variávelBAR
, mas não$BAR
.
Em ambos os casos, para uma linha como:
FOO=BAR$BAR${BAR}
O conteúdo da variável FOO
será a string literal BAR$BAR${BAR}
.
A% man_de% manpage tem exemplos:
Silly examples of escaped variables, just to show how they work.
DOLLAR DEFAULT=\$
DOLLARDOLLAR DEFAULT= OVERRIDE=\$${DOLLAR}
DOLLARPLUS DEFAULT=\${REMOTEHOST}${REMOTEHOST}
ATSIGN DEFAULT="" OVERRIDE=\@