変数を区切る除算値

変数を区切る除算値

私の考えは、変数のいくつかの値を分離することです。以下は、必要な出力を取得できないスクリプトの例です。このアイデアに関する提案はありますか?

A=12-13-14
IFS="-" read -p I J K <<<$A

echo Lin number is $I
echo Michele Number is $J
echo Gina number is $K

私の予想結果は次のとおりです。

Lin number is 12
Michele number is 13
Gina number is 14

ベストアンサー1

bashを使用しているので、「ここに文字列」()を使用しているようです<<<。また、一部の他のシェルでは、read -pセカンダリプロセスから読み取ることが発生します。これは、コードがコメントで述べたものとは異なる結果を生成することを意味します。だからそれは非常に可能ですbash

ユーティリティ-pのオプションはオプションパラメータを使用します。このオプションパラメーターは、ユーザーに値を要求するときに対話型プロンプトとして使用される文字列です。コードでは、プロンプトは文字列になり、変数sumには標準入力(文字列)を介してデータが割り当てられます。そのため、空の文字列です。readbashIJKread$A$Iecho

$ read -p 'Enter value: ' thing
Enter value: hello
$ printf '%s\n' "$thing"
hello

-r代わりに、次のようなものを使用するとします-p

A=12-13-14
IFS='-' read -r I J K <<<"$A"

printf 'Lin number is %s\n'     "$I"
printf 'Michele Number is %s\n' "$J"
printf 'Gina number is %s\n'    "$K"

おすすめ記事