名前は同じですが、増分カウンターを持つ5つのファイルを作成したいと思います。
私がするなら:
for i in {1..5}; do touch hallo_$i; done
hallo_1
などを受け取ります。hallo_2
hallo_3
私がするなら:
for i in {1..5}; do touch company-price-$i_spec.rb; done
私は得る:company-price-.rb
何かから逃げなければならないのでしょうか? bashは私が$i
変数から削除/減算したいと思いますか?
逃げても、.
まだ-
同じ結果が得られます。どのようなヒントがありますか?
答え1
変数拡張には中括弧型を使用する必要があります。
for i in {1..5}; do touch company-price-${i}_spec.rb; done
それ以外の場合。代わりに変数拡張bash
として扱われます。$i_spec
$i
~からbash
手動:
The basic form of parameter expansion is ${parameter}. The value of
parameter is substituted. The braces are required when parameter is a
positional parameter with more than one digit, or when parameter is
followed by a character that is not to be interpreted as part of its name.