スクリプトから渡された文字列の内容を取得します。

スクリプトから渡された文字列の内容を取得します。

出力からこのスクリプトの「for」内容を取得したいと思いますKW0_TEXTKW1_TEXT

#!/bin/sh
STRS=" KW0 KW1 "
KW0_TEXT="text text text"
KW1_TEXT="text text  text text"
for str in ${STRS}; do
echo ${str}_TEXT
eval echo ${str}_TEXT
done

これまでの出力結果は次のとおりです。

KW0_TEXT
KW0_TEXT
KW1_TEXT
KW1_TEXT

ベストアンサー1

/bin/sh が実際に /bin/bash の場合、変数間接参照を使用できます。

#!/bin/bash
STRS=" KW0 KW1 "
KW0_TEXT="text text text"
KW1_TEXT="text text  text text"
for str in ${STRS}; do
  var=${str}_TEXT
  printf "%s\n" "${!var}"
done

おすすめ記事