我在很多方面尝试过,但却无法以正确的方式进行尝试。
fun="
mkcdo ()
{
mkdir -p -- \"'$1'\" && cd -P -- \"'$1'\"
}"
echo "$fun" >> ~/.bashrc
我想要的是将其附加到.bashrc
mkcd ()
{
mkdir -p -- "$1" && cd -P -- "$1"
}
可以这样做吗?在python:r'whatever\you\$write'
中有没有像bash一样的方式,所以它被完全忽略为简单的文本?
答案 0 :(得分:2)
使用变量存储bash
功能代码听起来很反模式。对于多行格式化字符串,我建议使用here-doc并引用它们以避免扩展变量
cat >> ~/.bashrc << 'EOF'
mkcd () {
mkdir -p -- "$1" && cd -P -- "$1"
}
EOF
进一步阅读 - Bash - Here documents
答案 1 :(得分:0)
Alternative1:只使用单引号。
fun='
mkcdo ()
{
mkdir -p -- "$1" && cd -P -- "$1"
}'
echo "$fun" >> ~/.bashrc
备选方案2:转义$
符号。
fun="
mkcdo ()
{
mkdir -p -- \"\$1\" && cd -P -- \"\$1\"
}"
echo "$fun" >> ~/.bashrc