以下のようにbashスクリプトを作成しました。
...file1.sh..
read samplearrrr;
echo "*******************"
echo ${#samplearrrr[@]}
echo "*******************"
ターミナルでこれを./file1.shとして実行し、入力は23 45 67 88として読み取られました。
出力の長さは常に1です。
インターネットを検索しようとしましたが、解決策が見つかりませんでした。
ベストアンサー1
コードは単語を単一の文字列として変数として読み込みます。自動的に配列に変換されません。
では、withを使用して値を配列として読み取ることがbash
できます。-a
read
read -r -p 'enter array values: ' -a vals
printf 'I got %d values\n' "${#vals[@]}"