LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 681|回复: 4

在IF语句中能用|吗?

[复制链接]
发表于 2005-4-28 17:54:35 | 显示全部楼层 |阅读模式

  1. #!/bin/bash
  2. #display a menu
  3. echo "-------------------------------------"
  4. echo " 1 restore "
  5. echo " 2 backup  "
  6. echo " 3 upload "
  7. echo "-------------------------------------"
  8. echo -n "Enter th choice:  "
  9. read var
  10. case $var in
  11. 1|R) echo "1 restore";;
  12. 2|B) echo "2 backup";;
  13. 3|U) echo "3 upload";;
  14. *)   echo " sorry ,you hava a bad input "
  15. exit 1
  16. esac
  17. #end
复制代码

这里可以用1|R,也想再IF里用比如这样
if [ $1 = 1|R ]
then
      echo "1 restore"
fi
能这样用吗,我用的时候提示错误,不知道个位兄弟这样用过没有
发表于 2005-4-28 18:00:45 | 显示全部楼层
不是“|”,而是用“-o”;
比如:
$ while "true";do read i;if [ $i == "1" -o $i == "R" ];then echo "yeah";else echo "nop";fi;done
$ 1
$ yeah
$ R
$ yeah
$ no
$ nop
回复 支持 反对

使用道具 举报

发表于 2005-4-28 18:34:45 | 显示全部楼层
| ----> ||
回复 支持 反对

使用道具 举报

发表于 2005-4-29 09:40:03 | 显示全部楼层
if [[ $i = "1" ]] || [[ $i = "R" ]]; then ...
回复 支持 反对

使用道具 举报

发表于 2005-4-29 09:47:36 | 显示全部楼层
用case相对明了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表