0

isd21anms.com、isd31anms.com などのサンプル値を持つ変数 $x があります。次に、for ループを反復処理して、no 1 を 1 から 1、2、3 に変更します。4. 以下のコードを見てください。

for i in 1 2 3 4
do
     change $i such that I get values isd21anms.com, isd22anms.com, isd23anms.com, isd24anms.com
done

$x は、isd21anms.com、isd31anms.com、isd41anms.com のような値を持つことができることを覚えておいてください。したがって、定数値を使用する代わりに、変数に保存して for ループを適用する必要があります。

4

3 に答える 3

1

これにはブレース展開を使用します

for i in isd{1..4}{1..4}anms.com; do
  echo $i
done

出力:

    isd11anms.com
    isd12anms.com
    isd13anms.com
    isd14anms.com
    isd21anms.com
    isd22anms.com
    isd23anms.com
    isd24anms.com
    isd31anms.com
    isd32anms.com
    isd33anms.com
    isd34anms.com
    isd41anms.com
    isd42anms.com
    isd43anms.com
    isd44anms.com

ブレース拡張

于 2013-01-09T14:13:32.220 に答える
0
for i in 1 2 3 4
do
y=`echo $temp | sed "s/\(.*\).\(anms.com\)/\1"${i}"\2/g"`
echo "y is $y"
done

以下でテスト:

> ./temp.sh
y is isd21anms.com
y is isd22anms.com
y is isd23anms.com
y is isd24anms.com
> setenv temp "isd31anms.com"
> ./temp.sh
y is isd31anms.com
y is isd32anms.com
y is isd33anms.com
y is isd34anms.com
于 2013-01-09T07:16:43.460 に答える
0

あなたの質問を正しく理解した場合:

for x in isd21anms.com isd31anms.com isd41anms.com
do
        for i in {1..4}
        do
                y=${x/1/$i}
                echo $y
        done
done

これを実行すると、次のようになりました。

isd21anms.com
isd22anms.com
isd23anms.com
isd24anms.com
isd31anms.com
isd32anms.com
............
于 2013-01-09T06:45:01.247 に答える