Bash 环境变量在#

Bash 环境变量在#,bash,shell,ubuntu,Bash,Shell,Ubuntu,我试图使用我的/etc/environment文件导出一些变量,供Rails使用 OS: Ubuntu 18.04 但是,当我尝试时: cat /etc/environment .... RAILS_ENV='test' RAILS_DB_PWD='X35i#98n' 我得到: echo $RAILS_DB_PWD 看起来像是在#处被切断了。我希望在密码中包含#,并使其在系统范围内可用,而不仅仅是从我本地的bashshell 但是,如果我将其添加到.bashrc文件中,它就可以正常工作

我试图使用我的/etc/environment文件导出一些变量,供Rails使用

OS: Ubuntu 18.04
但是,当我尝试时:

cat /etc/environment

....
RAILS_ENV='test'
RAILS_DB_PWD='X35i#98n'
我得到:

echo $RAILS_DB_PWD
看起来像是在#处被切断了。我希望在密码中包含#,并使其在系统范围内可用,而不仅仅是从我本地的bashshell

但是,如果我将其添加到.bashrc文件中,它就可以正常工作


有什么想法吗?

shopt展示了什么

X35i

应该防止shell那样解释#

正如Elias Soares在他的评论中所说,/etc/environment不是一个使用嵌入式
#
设置变量的好地方。在bash初始化文件(例如/etc/profile)中将其设置为

它应该会起作用。如果要跨越(非bash)子shell或运行本应使用此环境变量的程序,请不要忘记导出它。

可能重复使用
echo“$VAR”
。祝你好运
echo "${RAILS_DB_PWD}" 
RAILS_DB_PWD='X35i#98n'