如何創建一個簡單的shell腳本,要求對來自用戶的簡單輸入,然後只運行與預定義的選擇相關的命令,例如交互的shell腳本
IF "ON"
Backup Server
ELSEIF "OFF"
Delete Backups
ELSEIF "GREY"
Send Backups
ENDIF
如何創建一個簡單的shell腳本,要求對來自用戶的簡單輸入,然後只運行與預定義的選擇相關的命令,例如交互的shell腳本
IF "ON"
Backup Server
ELSEIF "OFF"
Delete Backups
ELSEIF "GREY"
Send Backups
ENDIF
可以從接受輸入用戶通過read
,你可以使用case ... esac
塊做不同的事情。
閱讀作爲其參數,爲它會保存它的變量名的值
read foo
會參加來自用戶的vaue並將其存儲在$foo
。
要提示用戶輸入,您需要使用echo。
echo "What is your favourite color?"
read color
最後,大多數shell腳本都支持case操作符。其採取的形式
case "value" in
"CHOICE)
# Do stuff
;;
esac
全部放在一起:
echo "Which choice would you like? \c"
read choice
case "$choice" in
ON)
# Do Stuff
;;
OFF)
# Do different stuff
;;
*)
echo "$choice is not a valid choice"
;;
esac
#!/bin/bash
select choice in "ON" "OFF" "*"; do
case "$choice" in
ON) echo "$choice"; # do something;
break;;
OFF) echo "$choice"; # do something;
break;;
*) echo "$choice other"; # do something;
break;;
esac
done
您好是簡單的例子,如何做到這一點
while true; do
read -p 'do you want to continue "y" or "n": ' yn
case $yn in
[Yy]*) echo 'this program continue '; break;;
[Nn]*) exit;;
*) echo 'Please answer yes or no: ';;
esac
done
while true; do
read -p 'press "c" to quit this program: ' c
case $c in
[Cc]*) exit;;
*) echo 'for quit this program press "c": ' ;;
esac
done
源,請點擊這裏source
我需要擁有\ c嗎?我是否需要在某處定義選擇? – 2013-05-06 00:51:54
''\ c''是較老的語法,用於抑制回聲中的換行符,如果您的系統支持,則可以使用'-n'標誌。大小寫的選擇可以是文字,正則表達式或變量(可以插入)。 – zellio 2013-05-06 00:52:27
有沒有一種方法可以顯示給用戶的選擇? – 2013-05-06 01:02:43