1

複数の変数を適切に連結する方法がわかりません。アイデアは、時間をかけていくつかのアイテム (この場合は "foo"、"bar"、および "baz") を収集し、1 つの文字列に連結することです (例: X = "foo bar baz")。

以下は、これまでにまとめたコードです。

#!/bin/sh
N=0
# assign foo
eval "DATA${N}='foo'"
eval "echo First value is: \$DATA$N"   # First value is: foo
N=`expr $N + 1`

# assign bar
eval "DATA${N}='bar'"
eval "echo Next value is: \$DATA$N"    # Next value is: bar
N=`expr $N + 1`

# assign baz
eval "DATA${N}='baz'"
eval "echo Last value is: \$DATA$N"    # Last value is: baz

for i in 0 1 2
do
        # concatenate foo bar and baz into one variable
done

for ループのコメントは、私が今問題を抱えている領域です。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

2

最初の eval パスで $ 演算子をエスケープするだけです。

blob=
for i in 0 1 2
do
    eval blob="\$blob\$DATA${i}"
done
于 2010-07-20T22:34:11.387 に答える