我有 n 个服务器,例如:
c0001234.cloud.com
c0005678.cloud.com
c0009123.cloud.com
我需要编写一个脚本来登录这些服务器并编辑一个文件。基本上该文件中有一个变量,我必须替换该值。能够成功登录服务器,但能够编辑文件。如何编写将在所有服务器上编辑文件的脚本。文件名和变量名在所有服务器上都相同。
string2=c0001234.cloud.com,c0005678.cloud.com,c0009123.cloud.com
for j in $(echo $string2 | sed "s/,/ /g")
do
ssh -o StrictHostKeyChecking=no -tt -q AppAccount}@$j stty < /dev/null
????????????????????????
done
答案1
目的是什么stty < /dev/null
?
首先,不要使用逗号作为分隔符,而使用空格,这样可以简化后面的循环。
string2="c0001234.cloud.com c0005678.cloud.com c0009123.cloud.com"
for j in $string2; do
ssh -o StrictHostKeyChecking=no AppAccount@$j sed -i -e 's/var/value/g' file
done
这将替换var
为value
中的file
。