条件结构和流控制
if命令是最简单的决策形式。if/else命令提供双路决策,而if/elif/else命令则提供多路决策。
if后面必须跟一条命令,可以是系统命令也可以是内置命令。命令的退出状态被用于条件的求值。表达式的等号两侧必须有空格。
计算表达式时要用到内置命令test,这个命令也已链接到方括号这个符号上。test命令不会展开shell的元字符(通配符),test测试命令的结果后,返回状态0表示成功代表真,返回状态非0状态表示失败代表假。
[root@centos fuhao]# if ypmatch "$name" passwd > /dev/null 2>&1
> then
> echo Found $name !
> fi
ypmatch命令是一条NIS命令(NIS是Sun公司的网络信息服务,Network Information Services),该命令在位于服务器上的NIS口令数据库中查找命令的参数name。标准输出和标准错误输出都被重定向到UNIX的位桶/dev/null中。
exit命令用于终止脚本并返回命令行;传给exit命令的参数是一个从0 - 255之间的整数。如果程序以0为参数退出,则表明程序执行成功,参数非0则表示程序执行失败。传给exit命令的参数被保存在shell的变量?中。用在希望脚本在某些情况发生时退出的情况。
[root@centos fuhao]# find / -xdev -mtime $1 -size +$2 -print
find命令从根目录开始搜索。选项-xdev阻止find搜索其它分区;选项-mtime带一个数字参数,这个参数代表自文件最后一次被修改以来的天数;选项-size也带一个数字参数,它表示以512字节的块为单位计算而得的文件大小。
sed和awk程序也查找模式,但是不论是否找到模式,它们都报告一个成功的返回状态。sed和awk判断成功的标准是语法是否正确而不是功能。
/usr/sbin/showmount命令列出远程装载到指定主机上的所有客户;
/usr/sbin/wall命令向远程主机上的所有用户发送消息;
检查变量的值是否为空时,必须用双引号把空值括起来,否则test命令会失败。
id命令
功能说明:显示用户的ID,以及所属群组的ID。
语 法:id [option][username]
补充说明:id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。
option如下:
-a 忽略其他版本的兼容性
-Z 只显示用户的安全信息
-g或--group 显示用户所属群组的ID
-G或--groups 显示用户所属附加群组的ID
-r或--real 显示实际ID
-u或--user 显示用户ID
-n或--name 显示用户,所属群组或附加群组的名称
--help 显示帮助
--vertion显示版本信息
阅读(1241) | 评论(0) | 转发(0) |