Bu mümkün görünmüyor /etc/environment
. Kabuktan bağımsız değişkenler için ortak bir konumdur. Bu göz önüne alındığında, içinde hash işaretleri ( #
) olan dizeleri destekliyor gibi görünmüyor ve onlardan kaçmanın bir yolu yok gibi görünüyor.
Şu SF Soru & Cevap başlıklı makaleyi buldum: Linux vb. / Ortamdaki lider "#" karakteri nasıl düzgün bir şekilde kaçar? . Bu yöntemlerin hiçbiri işe yaramadı:
- kontrol = "Merhaba"
- test0 = "# Merhaba"
- test1 = "H \ #ello"
- dnm2 = "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'
Bu soruya kabul edilen cevap ve tavsiyem ne olurdu:
Yapmak istediğiniz zor şeyler /etc/environment
kabuk sözdizimi değil, birine benziyor, ama değil, insanları hayal kırıklığına uğratıyor. Arkasındaki fikir /etc/environment
harikaydı. Değişkenleri kurmak için kabuktan bağımsız bir yol! Yaşasın! Ancak pratik sınırlamalar onu işe yaramaz hale getirir.
Değişkenleri oraya geçiremezsiniz. Örneğin, MAIL=$HOME/Maildir/
içine koyun ve ne olduğunu görün. Ne yazık ki, herhangi bir amaç için kullanmaya çalışmayı bırakmak en iyisi, ne yazık ki. Yani onunla bir kabuk tarafından işlenmiş olsaydı yapabileceğiniz şeyleri yapamazsınız.
/etc/profile
Veya tuşunu kullanın /etc/bashrc
.
Yine de başka bir Soru-Cevap , durumun neden böyle olduğu konusunda bu rasyonelliği verdi:
/etc/environment
PAM modülü "pam_env" tarafından ayrıştırıldığı gibi # (yorum olarak işlendiği gibi) kaçmak için hiçbir yolu yoktur ve KEY = VAL çiftleri basit bir liste olarak davranır ve buna göre ortamı kurar. Bu bash / shell değil, ayrıştırıcının değişken genişletme veya kaçan karakterler yapmak için dili yok.
Referanslar
/etc/environment
? Çünkü Debian Wheezy'de bu davranışı tekrarlayamadım.