次のコマンドはスクリプトでパスワードを置き換えるために使用されますが、perl コマンドは置換時にスペースを追加します。
password=arche20
perl -i -p -e "s/^(password[]*=[ ]*).*$/\1 $passwd/" config.properties
cat config.properties
userid=ARCHE
password= arche20
私は仕事をしましたが、交換時にパスワードの後にスペースを追加したようです。スペースがなければできませんか?sed
方法があります:
sed -i "s/password.*/password=$passwd/g"
答え1
\1
交換後のスペースがあるので、取り外すと作動します
perl -i -p -e "s/^(password[]*=[ ]*).*$/\1$passwd/" config.properties
^
Removed space here