Bashスクリプトはこのコマンドで返された値を取得しようとしましたが、何も返さないようです。
rr=$(read -p Enter -r)
echo "Is $rr"
read -p "java archive detected, Enter Y to download it again, N to continue $nl" -r
if [[ $REPLY =~ ^[Yy]$ ]] && [[ $(read -p Enter -r) == "Y" ]]; then
echo "Y entered $REPLY"
break;
elif [[ $REPLY =~ ^[Nn]$ ]]; then
echo "java Archive was extracted successfully to $java8Dir $nl"
fi
ベストアンサー1
これはread
、コマンド置換($()
)内で実行されているためです。そうする必要はありません。ちょうど使用:
read -p Enter -r rr
echo "Is $rr"
このvar=$(command)
構文は、の値をvar
の戻り値に設定しますcommand
。組み込み関数はread
何も返さないので(終了状態は除外しますが、ここでは関係ありません)、変数は空です。構文は値を設定するread
ことです。read VAR
$VAR