以下は、ファイル内で一致するキー値を置き換える方法の良い例です。
str="192.2.34.40:2181,192.2.34.34:2181,192.2.34.32:2181,192.2.34.52:2181,192.2.34.53:2181"
sed -i "s~^[[:space:]]*zookeeper\.connect.*~zookeeper.connect=$str~" /opt/server.properties
はい
more /opt/server.properties
zookeeper.connect=192.2.34.40:2181,192.2.34.34:2181,192.2.34.32:2181
sed コマンドを実行した後、次のようになります。
more /opt/server.properties
zookeeper.connect=192.2.34.40:2181,192.2.34.34:2181,192.2.34.32:2181,192.2.34.52:2181,192.2.34.53:2181
しかし、値が正しく置き換えられていることを確認できますか?
もちろん、検証を追加することもできます。
sed -i "s~^[[:space:]]*zookeeper\.connect.*~zookeeper.connect=$str~" /opt/server.properties
[[ $? -ne 0 ]] && echo "sed failed" && exit 1
しかし、ゼロを提供する標準出力にすべてのエラーが含まれているかどうかはわかりません。