スクリプトを使用してファイルを編集し、いくつかの変数の値を置き換えます。

スクリプトを使用してファイルを編集し、いくつかの変数の値を置き換えます。

たとえば、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

これはinvarに置き換えられます。valuefile

おすすめ記事