Come si evita correttamente un carattere principale "#" in linux etc / environment?

Vorrei memorizzare una variabile di ambiente a livello di sistema in etc/environment su AWS Linux AMI 2013.03. In questo esempio, sto cercando di memorizzare la frase "#hello". Vedere gli esempi di seguito. echo $control produce

hello

Mi aspettavo di echo $test0 (sotto) per produrre:

#hello

ma invece produce una linea vuota. Di seguito è riportto l'elenco dei test che ho digitato in /etc/environment :

  • control="hello"
  • test0="#hello"
  • 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'

Se esegui l'accesso e riconnettiamo nella macchina, analizzerò correttamente l'ambiente / etc / environment. La condizione di controllo passa su echo $control . Tuttavia, nessuno dei casi di test risponde correttamente. In each caso, la string al di là della hash (#) viene eseguita o ignorata. Ad esempio, echo $test5 produce h . C'è un modo migliore per scappare correttamente il # ?

È interessante notare che se eseguo l' source /etc/environment allora tutti funzionano come previsto e in effetti entrambi echo $control e echo $test producono il risultato previsto. Ma, al logout / login, il problema restituisce …

  • Imansible installare extundelete-0.2.0 su CentOS 5.6, "errore: imansible trovare libreria ext2fs"
  • Utilizzare il logger nello script di shell
  • Come abilitare l'inoltro di SSH X11 tramite un server aggiuntivo?
  • mount: imansible rimuovere il dispositivo block / dev / sda5 read-write, è protetto da scrittura
  • Considerazione sulla sicurezza di istanza di Linux EC2
  • Come registro il server Linux con il server DNS di Windows
  • confusione con ssl cert e apache
  • Imansible impostare la password di root mysql
  • One Solution collect form web for “Come si evita correttamente un carattere principale "#" in linux etc / environment?”

    Beh è roba ingannevole che vuoi fare / etc / environment non è la shell syntax, sembra uno, ma non lo è, ciò che frustra le persone. L'idea dietro / etc / environment è stata meravigliosa. Un modo indipendente dalla shell per impostare le variables! Sìì! Ma le limitazioni pratiche lo rendono inutile.

    Non è ansible passare le variables in esso. Prova per esempio la posta MAIL = $ HOME / Maildir / in esso e vedere cosa succede. Meglio solo smettere di cercare di utilizzarlo per qualsiasi scopo, ahimè. Quindi non puoi fare cose con esso che ci si aspetterebbe di poter fare se è stato elaborato da una shell.

    Utilizza / etc / profile o / etc / bashrc.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.