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.confe~/.pam_environment(um arquivo específico do usuário),pam_envtrata$especialmente quando vê linhas com a seguinte sintaxe:FOO DEFAULT=SOMETHING${BAR}SOMETHINGELSE$BAR FOO OVERRIDE=SOMETHING${BAR}SOMETHINGELSE$BARNesse 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=\@