- 论坛徽章:
- 0
|
红袖添香:续问.......!!!!!
...
我是想让你自己多试试几个调用, 可能就知道怎么回事了, 没想到是反效果, 呵呵.
(因为你在回答 N 之后还有退出等不同动作,所以 yesno() 又稍微更动了一下)
- yesno() {
- printf "$1 "
- while read reply; do
- case $reply in
- y|Y)
- if [ "x$2" != "x-r" ]; then
- shift
- cmd $* && return 0
- else
- return 1
- fi
- ;;
- n|N)
- if [ "x$2" = "x-r" ]; then
- shift 2
- cmd $* && return 0
- else
- return 2
- fi
- ;;
- *) printf "You should type \"y\" or \"n\" [y/n] "
- continue ;;
- esac
- done
- }
- yesno "今天备份吗? ...........................[y/n]" -c '
- mkdir databak,
- cd databak,
- echo "backup command"'
- if [ $? -eq 0 ]; then
- yesno "备份成功吗? ...................[y/n]" -r -c '
- echo "备份失败,正在清除……",
- rm -r databak,
- echo "deleting databak........." ,
- exit
- '
- if [ $? -eq 1 ]; then
- echo "备份备份成功!"
- 考磁带命令
- fi
- fi
- echo "其它命令"
复制代码
这样能不能够满足你的要求?其实你要再加上更多的条件判断道理也是一样的。 |
|