selection=
until [ "$selection" = "0" ]; do
echo ""
echo "PROGRAM MENU"
echo "1 - display free disk space"
echo "2 - display free memory"
echo ""
echo "0 - exit program"
echo ""
echo -n "Enter selection: "
read selection
echo ""
case $selection in
1 ) df ;;
2 ) free ;;
0 ) exit ;;
* ) echo "Please enter 1, 2, or 0"
esac
echo $selection
done
2を押すと利用可能なスペースが表示され、エコーには2が表示されますが、「アイドル」のままにするにはエコーが必要です。
ベストアンサー1
あなたはできません。 Caseステートメントは、選択を使用して実行するアクションを決定します。 Case ステートメントには設定されません。
次のように試してみることもできます。
selection=
until [ "$selection" = "0" ]; do
cmd=''
echo ""
echo "PROGRAM MENU"
echo "1 - display free disk space"
echo "2 - display free memory"
echo ""
echo "0 - exit program"
echo ""
echo -n "Enter selection: "
read selection
echo ""
case "$selection" in
1) cmd='df' ;;
2) cmd='free' ;;
0) cmd='exit' ;;
*) echo "Please enter 1, 2, or 0"
esac
if [ -n "$cmd" ] ; then
echo "selection $selection is '$cmd'"
$cmd
fi
done
echo "selection $selection is '$cmd'
実行前に実行され、そうでなければゼロになる前に終了し$cmd
ます。echo
$selection