例如:安装时pyenv
,您需要添加
export PATH="/home/user/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
到您的.bashrc
文件中。
但是,通常echo '..' >> ~/.bashrc
会在附加之前评估语句。如何使用命令行正确地将这些语句附加到文件中而无需评估?
答案1
我建议这里的文件
$ cat >> .bashrc <<'EOF'
export PATH="/home/user/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
EOF
只要EOF
引用该词(可以是任何词),就不会发生主体的外壳扩展。
答案2
但是,通常
echo '..' >> ~/.bashrc
会在附加之前评估语句。如何使用命令行正确地将这些语句附加到文件中而无需评估?
不会。单引号内的所有内容都是完全未评估。您可以放心使用,
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
不用担心任何内容会被解释。单引号字符串中唯一有意义的字符是单引号(它结束字符串,并且不能转义。)
答案3
您可以\
在特殊字符前面添加。
例如:
echo export PATH=\"/home/user/.pyenv/bin:\$PATH\"
得出以下结果:
export PATH="/home/user/.pyenv/bin:$PATH"
因此引号和$PATH
仍然存在。