1つの読み取りコマンドで2つの変数を読み取り、別々にエコーする方法は?

1つの読み取りコマンドで2つの変数を読み取り、別々にエコーする方法は?

たとえば、

ユーザーはA = aと入力したいと思います。

私の注文は完全に間違っていると思います。


read -p "Enter something:" frsstring=secstring
echo $frsstring
echo $secstring
````````````````````````````````````````````````````````````




ベストアンサー1

配列変数を使用bashして内部フィールド区切り文字(IFS)特殊変数を変更することで、=一般に単語を分割するための空白文字、タブ、および改行文字を含めることができます。

IFS='=' read -a arr -p "Enter something: "
echo "${arr[0]}"
echo "${arr[1]}"

またはシェルを使用することもできますパラメータ拡張文字列から最長のサフィックスとプレフィックスパターンを削除します。

read -p "Enter something: " str
echo "${str%%=*}" # remove longest suffix pattern `=*`
echo "${str##*=}" # remove longest prefix pattern `*=`

おすすめ記事