最简单的方法是在这样的脚本中强行扩展变量的最简单方法:
#!/bin/some
path=/nobackup/
sed -i "39s/.*/$path/" cluster.sh
或最简单的外壳脚本语言是什么只是没有问题扩展变量?有力量扩展选项吗?
变量扩展;问题在于该值包含sed
视为语法的字符。sed
看到命令
39s/.*//backup//
试图动态构建sed
命令时的一个解决方案是提前了解该变量将包含的字符,并在sed
命令中使用其他定界符。
sed -i "39s|.*|$path|" cluster.sh
另一个解决方案是,如果您可以控制$path
的值,则是预删除问题字符。
path='/backup/'
sed -i "39s/.*/$path/" cluster.sh # 39/.*//backup//