Tampaknya ini tidak mungkin dilakukan /etc/environment
. Ini dimaksudkan sebagai lokasi umum untuk variabel yang tidak bergantung pada shell. Mengingat ini tidak terlihat seperti itu mendukung string dengan tanda hash ( #
) di dalamnya dan tampaknya tidak ada cara untuk melarikan diri mereka.
Saya menemukan T&J SF ini berjudul: Bagaimana seseorang bisa lolos dari karakter “#” terkemuka di linux etc / environment? . Tidak satu pun dari metode ini yang berfungsi:
- control = "halo"
- test0 = "# halo"
- 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'
Jawaban yang diterima untuk pertanyaan itu dan apa yang juga akan menjadi saran saya:
Yah itu adalah hal-hal rumit yang ingin Anda lakukan /etc/environment
bukan sintaksis shell, sepertinya, tetapi tidak, yang membuat orang frustrasi. Gagasan di balik /etc/environment
itu luar biasa. Cara shell-independent untuk mengatur variabel! Yay! Tetapi keterbatasan praktis membuatnya tidak berguna.
Anda tidak dapat melewatkan variabel di sana. Coba misalnya masukkan MAIL=$HOME/Maildir/
ke dalamnya dan lihat apa yang terjadi. Terbaik hanya untuk berhenti mencoba menggunakannya untuk tujuan apa pun, sayangnya. Jadi Anda tidak dapat melakukan hal-hal yang Anda harapkan dapat dilakukan jika itu diproses oleh shell.
Gunakan /etc/profile
atau /etc/bashrc
.
Namun masih ada lagi tanya jawab yang memberikan alasan mengapa ini terjadi:
Tidak ada cara /etc/environment
untuk keluar dari # (karena diperlakukan sebagai komentar) karena sedang diuraikan oleh dia modul PAM "pam_env" dan memperlakukannya sebagai daftar sederhana pasangan KEY = VAL dan mengatur lingkungan yang sesuai. Ini bukan bash / shell, parser tidak memiliki bahasa untuk melakukan ekspansi variabel atau karakter melarikan diri.
Referensi
/etc/environment
? Karena saya tidak bisa menduplikasi perilaku ini di Debian Wheezy.