bashスクリプトでは、同じ行からいくつかの配列変数を読み取ることができますか?
-a
読み取りコマンドで& を-p
同時に使用するにはどうすればよいですか?
私が試してみました:
read -ap 'vi:' var_1
read -pa 'vi:' var_1
read -a -p 'v1:' var_1
read -p -a 'v1:' var_1
どれも機能していません。他の選択肢はありますか?
答え1
ループを使用して入力文字列を配列に追加できます。
#!/bin/bash
array=()
while true; do
read -rp "vi: " input
[[ -z $input ]] && break || array+=("$input")
done
echo "${array[@]}"
答え2
この方法は、bash
少し変更するだけで機能します:
変数をクリアする
$ unset asdf
オプションを-a
オプションの後に置く-p 'string'
$ read -p 'enter 4 items separated by space ' -a asdf
enter 4 items separated by space 1 2 3 4
結果を確認する
$ echo ${asdf[@]}
1 2 3 4
$ echo ${asdf[3]}
4
$ echo ${asdf[0]}
1