首先,在 bash 脚本中有一个包含特殊字符的变量。这是示例。列表.txt:
user = root
password = 1234
重击脚本:
#!/bin/sh
var1 = var&2018+&
find . -name "list.txt" -exec sed -i "s/1234/"$var1"/g" {} +
当我执行脚本时,结果是:var12342018+1234。
更新 1(奥利夫的回答):
var1='var&2018+&'
find . -name "*list.txt" -exec bash -c 'sed -i "s/1234/$2/g" $1' _ {} "$var1" \;
结果仍然:密码= var12342018+1234
也许任何人都可以帮助我。谢谢你