linux的中括号条件判断式易出现的问题及解决方法
来源:互联网 发布:js判断变量是否为数组 编辑:程序博客网 时间:2024/05/19 16:02
在linux中,[ ]可以作为条件判断式,结合if [ ];then.....fi使用。
在使用[]时,要注意,其中的每一部分都要用空格分开,中括号的前后都要有空格,if后面,then前面需要加空格!
以下面的程序为例:
1 #!/bin/bash
2 #该程序使用if ...,then...fi 做判断,程序设定如下:
3 #1.当执行一个程序的时候,这个程序会让用户选择Y或者N
4 #2.如果用户输入Y或y,就显示『OK,continue』
5 #3.如果用户输入n或N,就显示『Oh,interrupt!』
6 #4.如果不是Y/y/N/n之内的其它字符,就显示『I don't know what your choice is』
7
8 #2011/10/15 goku first release
9
10 read -p "please input(Y/N):"
11
12 if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then #if后面,then前面都有空格;中括号开始后紧跟空格,结束前紧跟空格;==前后也有空格
13 echo "OK,continue"
14 exit 0
15 fi
16 if [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
17 echo "oh,interrupt!"
18 exit 0
19 fi
20 #[ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK,continue" && exit 0
21 #[ "$yn" == "N" -o "$yn" == "n" ] && echo "Oh,interrupt!" && exit 0
22 echo "I don't know what your choice is" && exit 0
~
如果在运行中出现下面的问题:
[: 15: y: unexpected operator
[: 15: y: unexpected operator
[: 19: y: unexpected operator
[: 19: y: unexpected operator
I don't know what your choice is
一般可能由以下几点原因造成的:
1.空格出现问题;
2.文件的第一行使用的是『#!/bin/sh』,应该是使用『#!/bin/bash』;
3.可能是使用:『sh 实例名』 运行的,应该要直接运行。也就是『chmod +x 实例名』,接着使用『./实例名』。
如果出现下面的问题:
./sh10.sh: 第 9 行: [: : 期待一元表达式
./sh10.sh: 第 13 行: [: : 期待一元表达式
./sh10.sh: 第 17 行: [: : 期待一元表达式
./sh10.sh: 第 21 行: [: : 期待一元表达式
则是由于中括号判断式中『==』前后没有空格导致的。
笔者在使用中,是因为使用了『#!/bin/sh』,害得我检查了半天!
- linux的中括号条件判断式易出现的问题及解决方法
- linux 使用中括号进行条件判断
- linux 使用中括号进行条件判断
- shell中括号的特殊用法 linux if多条件判断
- 判断字符串中括号成对出现的方法
- Linux 安装编译PHP出现的问题及解决方法
- linux 安装ubuntu出现的问题及解决方法
- 虚拟机上安装Linux时出现的问题及解决方法
- 写JasperReport过程中出现的一些问题及解决方法
- Oracle BIEE 安装过程中出现的问题及解决方法
- video scaler程序中出现的问题及解决方法
- sql server2000安装中出现的问题及解决方法
- Oracle BIEE 安装过程中出现的问题及解决方法
- umfpack使用中出现的问题及解决方法
- java中GUI出现的问题及解决方法
- ubuntu使用中出现的问题及解决方法
- hexo+github博客搭建中出现的问题及解决方法
- chromium源码编译过程中出现的问题及解决方法
- 改变你一生的30种能力
- [Repaste] Anatomy of a good bug report
- 清华大学计算机全套教程!【珍藏】
- MongoDB(自动分片+shard备份) 机器故障 (使用kill -9仿真) 稳定性测试
- 机房收费系统----可行性分析报告
- linux的中括号条件判断式易出现的问题及解决方法
- HashMap,LinkedHashMap和TreeMap的简单比较
- DOM4J_xpath 操作简介
- 创建健壮的 jms 应用程序
- SQL注入攻击与防御
- 成为编程高手的二十二条军规
- datagrid中读取的行鼠标经过的时候,设置鼠标悬停行的颜色
- 用tomcat catalina创建一个servlet container 的步骤
- 重构机房收费系统(二)