読み取りコマンドで-a、-pを使用する

読み取りコマンドで-a、-pを使用する

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

関連情報