Uma*_* A. 23 login pam environment-variables
我正在向其中添加一个 env 变量,/etc/environment
但是因为变量值包含 # 符号,所以字符串是条带化的。
MYSQL_PWD="something#no"
Run Code Online (Sandbox Code Playgroud)
现在,如果我做env
上面的代码 yield MYSQL_PWD=something
。我怎样才能逃避哈希?我已经尝试过\
性格。
slm*_*slm 22
这似乎不可能与/etc/environment
. 它是独立于 shell 的变量的公共位置。鉴于此,它看起来不支持其中带有哈希标记 ( #
) 的字符串,并且似乎没有办法转义它们。
我发现这个 SF 问答题为:如何在 linux etc/environment 中正确转义前导“#”字符?. 这些方法都不起作用:
该问题的公认答案以及我的建议是什么:
嗯,你想做的棘手的事情
/etc/environment
不是 shell 语法,它看起来像一个,但事实并非如此,这确实让人们感到沮丧。背后的想法/etc/environment
很棒。一种独立于外壳的设置变量的方法!好极了!但实际限制使其无用。你不能在那里传递变量。尝试例如放入
MAIL=$HOME/Maildir/
它,看看会发生什么。最好停止尝试将它用于任何目的,唉。因此,如果它是由外壳处理的,那么您无法用它来做您期望能够做的事情。使用
/etc/profile
或/etc/bashrc
。
还有一个问答给出了为什么会这样:
没有办法
/etc/environment
转义#(因为它被视为注释),因为它正在被 PAM 模块“pam_env”解析,它将它视为一个简单的 KEY=VAL 对列表并相应地设置环境。它不是 bash/shell,解析器没有用于进行变量扩展或字符转义的语言。
归档时间: |
|
查看次数: |
25536 次 |
最近记录: |