Esto no parece ser posible con /etc/environment
. Se entiende como una ubicación común para variables que son independientes de la shell. Dado esto, no parece que admita cadenas con marcas hash ( #
) y no parece haber una forma de escapar de ellas.
Encontré este SF Q&A titulado: ¿Cómo se puede escapar correctamente de un carácter principal "#" en Linux, etc / environment? . Ninguno de estos métodos funcionó:
- control = "hola"
- test0 = "# hola"
- test1 = "h \ #ello"
- test2 = "h # ello"
- test3 = "h // # ello"
- test4 = "h / # ello"
- test5 = h # ello
- test6 = h \ #ello
- test7 = h # ello
- test8 = h // # ello
- prueba9 = h / # ello
- test10 = 'h # ello'
- test11 = 'h \ #ello'
- test12 = 'h # ello'
- test13 = 'h // # ello'
- test14 = 'h / # ello'
La respuesta aceptada a esa pregunta y cuál sería también mi consejo:
Bueno, es algo complicado que quieres hacer /etc/environment
no es la sintaxis de shell, parece una, pero no lo es, lo que frustra a la gente. La idea detrás /etc/environment
fue maravillosa. ¡Una forma independiente de shell para configurar variables! ¡Hurra! Pero las limitaciones prácticas lo hacen inútil.
No puedes pasar variables allí. Intenta, por ejemplo, ponerlo MAIL=$HOME/Maildir/
y ver qué pasa. Lo mejor es dejar de intentar usarlo para cualquier propósito, por desgracia. Por lo tanto, no puede hacer cosas que esperaría poder hacer si fuera procesado por un shell.
Use /etc/profile
o /etc/bashrc
.
Sin embargo, otra Q&A dio esta racional de por qué este es el caso:
No hay forma /etc/environment
de escapar del # (ya que se trata como un comentario) ya que está siendo analizado por el módulo PAM "pam_env" y lo trata como una simple lista de pares KEY = VAL y configura el entorno en consecuencia. No es bash / shell, el analizador no tiene lenguaje para hacer expansión variable o caracteres de escape.
Referencias
/etc/environment
? Porque no pude duplicar este comportamiento en Debian Wheezy.