首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

《Linux命令行与shell脚本编程大全》 第10一章

2013-11-08 
《Linux命令行与shell脚本编程大全》 第十一章第十一章:使用结构化命令 使用if-then语句比较 描述 n1 -eq n2

《Linux命令行与shell脚本编程大全》 第十一章

第十一章:使用结构化命令

使用if-then语句

比较 描述 n1 -eq n2

检查n1是否与n2相等

n1 -ge n2检查n1是否大于或等于n2n1 -gt n2检查n1是否大于n2n1 -le n2检查n1是否下雨或等于n2n1 -lt n2检查n1是否小于n2n1 -ne n2检查n1是否不等于n2

可以用在变量上

注意:不能使用浮点数

 

字符串比较

比较描述str1 = str2检查str1是否和str2相同str1 != str2检查str1是否和str2不同str1 < str2检查str1是否比str2小str1 > str2检查str1是否比str2大-n str1检查str1的长度是否非0-z str1检查str1的长度是否为0

 

顺序比较需要注意:

1.大于小于符号要转义,不然会被识别为重定向符号                                                                                              

2.test命令根据ASCII顺序排序,与sort命令不同

 

 字符串长度

当变量为空字符串或者没有初始化时,变成长度是0

空字符串或没有初始化的变量可能会对程序有灾难性影响,使用前最好先使用test命令中的-n和-z确认

 

文件比较

比较描述-d file检查file是否存在并且是否是一个目录-e file检查file是否存在-f file检查file是否存在并且是否是一个文件-r file检查file是否存在并可读-s检查file是否存在并非空-w检查file是否存在并可写-x检查file是否存在并可执行-O检查file是否存在并属于当前用户所有-G检查file是否存在并且默认组与当前用户相同

file1 -nt file2

检查file1是否比file2新file1 -ot file2检查file1是否比file2旧

以检查目录为例:

符号描述val++后增val--后减++val先增--val先减!逻辑求反~位求反**幂运算<<左位移>>右位移&位布尔和|位布尔或&&逻辑和||逻辑或

 

双方括号格式

[[ expression ]]

提供了模式匹配(pattern matching)特性,可以在其中使用正则表达式

case $test inpork | beef | lamb )    echo "$test is meat!"    echo "I like it!";;potato | tomato | eggplant )    echo "$test is a vegetable"    echo "who likes it?";;*)    echo "what's this?";;esac

在java7之前,这么写是不可以的,switch case中不支持string类型

 

 

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/

热点排行