0

bash スクリプトで、変数の値をフォルダー名の部分文字列として使用する方法を覚えていません。例:

私はフォルダを持っています:

test_1.0_xxx  test_1.2_yyy test_1.4_zzz

そして、私は次のことをしたい:

for i in 1.0 1.2 1.4
do
  cd test_$i_*
  # do something
done

構文が間違っているようです:

bash: cd: test_*: No such file or directory

の前後$iにバックティックを使用してみましたが、成功しませんでした。どうすればいいですか?

4

2 に答える 2

2

これを試してください:

#!/bin/bash
for i in "1.0" "1.2" "1.4"
do
  cd test_${i}_*
  # do something
done
于 2012-08-13T09:06:56.527 に答える
1

以下のアンダースコア$iは、変数名の一部としてカウントされています。引用符で囲んでみてください。

for i in 1.0 1.2 1.4
do
  cd test_"$i"_*
  # do something
done

編集:matteomatteiのバージョンはおそらくより正しいです。

于 2012-08-13T09:05:44.167 に答える