Isso não parece ser possível com /etc/environment
. É um local comum para variáveis independentes de shell. Dado isso, parece que não suporta strings com hash marks ( #
) e não parece haver uma maneira de escapar deles.
Eu encontrei esta seção de perguntas e respostas sobre o SF intitulada: Como alguém escapa adequadamente de um caractere "#" principal no linux etc / environment? . Nenhum desses métodos funcionou:
- control = "olá"
- test0 = "# olá"
- test1 = "h \ #ello"
- test2 = "h # ello"
- test3 = "h // # ello"
- test4 = "h / # ello"
- test5 = h # ello
- test6 = h \ #ello
- test7 = h # ello
- test8 = h // # ello
- test9 = h / # ello
- test10 = 'h # ello'
- test11 = 'h \ #ello'
- test12 = 'h # ello'
- test13 = 'h // # ello'
- test14 = 'h / # ello'
A resposta aceita para essa pergunta e qual também seria meu conselho:
Bem, é algo complicado que você quer fazer /etc/environment
não é sintaxe do shell, parece um, mas não é, o que frustra as pessoas. A ideia por trás /etc/environment
foi maravilhosa. Uma maneira independente de shell para configurar variáveis! Yay! Mas as limitações práticas tornam inútil.
Você não pode passar variáveis para lá. Tente, por exemplo, colocá MAIL=$HOME/Maildir/
-lo e ver o que acontece. É melhor parar de tentar usá-lo para qualquer fim, infelizmente. Portanto, você não pode fazer coisas que esperaria poder fazer se fossem processadas por um shell.
Use /etc/profile
ou /etc/bashrc
.
Ainda outra sessão de perguntas e respostas deu essa justificativa para o porquê:
Não há como /etc/environment
escapar do # (como tratado como um comentário), pois ele está sendo analisado pelo módulo PAM "pam_env" e o trata como uma lista simples de pares KEY = VAL e configura o ambiente de acordo. Não é bash / shell, o analisador não possui linguagem para executar expansão variável ou caracteres que escapam.
Referências
/etc/environment
? Porque não consegui duplicar esse comportamento no Debian Wheezy.