• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:bashで配列の個数部分を変数で指定するとエラーに)

bashで配列の個数部分を変数で指定するとエラーに

このQ&Aのポイント
  • bashで配列の個数部分を変数で指定するとエラーになってしまいます。メッセージとしては、"bash: 29205 * ${#aa[*]} / 32768 : 構文エラー: オペランドが予期されます"と表示されます。
  • 具体的には、以下の箇所でエラーが発生しています。 mes="\${$i[$(( ${RANDOM} * 3 / 32768 ))]}" \$nのように指定すると、エラーが発生するため、正しい書き方を探していますが解決できていません。
  • 変数で配列の個数部分を指定する方法がわからないため、どなたかご教授いただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.1

n="\${#$i[*]}" ではなく、 eval n="\${#$i[*]}" では? bash -x list-test.sh で実行すると、どういうコマンドが実行されているのかわかります。

taku0
質問者

お礼

どんなコマンドが実行されているのか、 それをを知るのは重要ですね。 デバッグのやり方を教えて頂きありがとうございます。 そして、あわせて問題解決につながる助言も頂きありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A