我是编码的新手,已经在stackoverflow上找到了一些关于这个的主题,但是它无法使它工作,因为它们似乎对我过度扩展。我可能需要一些指导。
我需要在外部bash脚本中更改一些变量' comlink.conf'。但只有特定的。其他人应该像他们一样离开。
ready=0
test=1
new=2
echo 'ready='$ready > comlink.conf
sleep 10
ready=1
echo 'ready='$ready > comlink.conf
如果我这样做,' test = 1'和' new = 2'将被完全覆盖并从文件中删除。这不应该发生。
最简单的方法是什么?
答案 0 :(得分:1)
如果我理解你,你想要替换文件中的一行。你不应该使用 echo 。
相反,我建议使用sed:
sed '/.*ready*/s/.*/ready=1/' comlink.conf
答案 1 :(得分:1)
您可以sed
使用不同的替换,例如:
sed 's/ready=.*/ready=1/' comlink.conf > tmp
mv tmp comlink.conf
或者如果您使用的是GNU sed:
sed -i 's/ready=.*/ready=1/' comlink.conf
或BSD sed:
sed -i'' 's/ready=.*/ready=1/' comlink.conf