51

ばかげた質問は間違いありません。変数の途中に変数を追加しようとしているので、たとえば PHP では次のようにします。

$mystring = $arg1 . '12' . $arg2 . 'endoffile';

出力は になる可能性がありますが20121201endoffile、Linux bash スクリプトで同じことを達成するにはどうすればよいですか?

4

1 に答える 1

91

これを試してみてください。 bash に連結する特殊文字はありません:

mystring="${arg1}12${arg2}endoffile"

説明

括弧を付けない場合は、次の例のようにに連結を要求します$arg112 + $argendoffile(それはあなたが要求したものではないと思います)。

mystring="$arg112$arg2endoffile"

括弧は、必要な場合の変数の区切り文字です。必要がないときは、使用するかどうかを選択できます。

別の解決策

(移植性が低い: require bash> 3.1)

$ arg1=foo
$ arg2=bar
$ mystring="$arg1"
$ mystring+="12"
$ mystring+="$arg2"
$ mystring+="endoffile"
$ echo "$mystring"
foo12barendoffile

http://mywiki.wooledge.org/BashFAQ/013を参照してください。

于 2013-01-14T20:01:44.027 に答える