shell的控制流程语句
2011-06-27 10:11
459 查看
shell分为两大类:
Bourne shell (包括 sh, ksh, bash):Bourne shell ( sh),Korn shell ( ksh),Bourne Again shell ( bash),POSIX shell ( sh)。
C shell (包括 csh and tcsh):C shell ( csh),TENEX/TOPS C shell ( tcsh)。
shell调试:常用echo打印变量值;真实的调试模式-sh -x shellscript.sh,执行脚本并打印所有变量的值;只检查语法的调试模式-sh -n script.sh,返回语法错误。
流程控制语法如下:
注意的是:select是bash的一个扩展应用,所以头语句应该为“#!/bin/bash”,否则select无法使用。select的效果是列出变量,等待用户选择。
补:与用户进行交互,除了select,还有read命令,用法“read var”,获得用户的输入并赋值给变量var。
if/while中的条件判断通常使用“[]”来进行条件测试。
[ -f "xx" ]:判断是否为一个文件
[ -x "xx" ]:判断是否可执行
[ -n "$var"]:判断var是否有值
[ "$a"="$b"]:判断变量a和b是否相等
其他有对文件的测试还有:
-d目录
-s文件非空
-f正规文件
-w可写
-L符号链接
-u文件有suid设置
-r可读
-x可执行
对字符串的测试还有:
!=两个字符串不相同
-z空串
对数值的测试有:
-eq数值相等(=)-ne
数值不相等(!=)
-gt 前者大于后者
(>)-lt前者小于后者(<)
-le 前者小于等于后者
(≤)-ge前者大于等于后者(≥)
Bourne shell (包括 sh, ksh, bash):Bourne shell ( sh),Korn shell ( ksh),Bourne Again shell ( bash),POSIX shell ( sh)。
C shell (包括 csh and tcsh):C shell ( csh),TENEX/TOPS C shell ( tcsh)。
shell调试:常用echo打印变量值;真实的调试模式-sh -x shellscript.sh,执行脚本并打印所有变量的值;只检查语法的调试模式-sh -n script.sh,返回语法错误。
流程控制语法如下:
#if语句 if...;then ... elif..;then ... else ... fi #case语句 case...in ..) something;; esac #select语句,与用户进行交互 select var in...;do ... ...$var can be used... done ...$var can be used... #while循环 while [ 条件1 ] do ... done #until until [ 条件 ] do done #for循环 for (( 条件1; 条件2; 条件3 )) do done for var in... do ... done
注意的是:select是bash的一个扩展应用,所以头语句应该为“#!/bin/bash”,否则select无法使用。select的效果是列出变量,等待用户选择。
补:与用户进行交互,除了select,还有read命令,用法“read var”,获得用户的输入并赋值给变量var。
if/while中的条件判断通常使用“[]”来进行条件测试。
[ -f "xx" ]:判断是否为一个文件
[ -x "xx" ]:判断是否可执行
[ -n "$var"]:判断var是否有值
[ "$a"="$b"]:判断变量a和b是否相等
其他有对文件的测试还有:
-d目录
-s文件非空
-f正规文件
-w可写
-L符号链接
-u文件有suid设置
-r可读
-x可执行
对字符串的测试还有:
!=两个字符串不相同
-z空串
对数值的测试有:
-eq数值相等(=)-ne
数值不相等(!=)
-gt 前者大于后者
(>)-lt前者小于后者(<)
-le 前者小于等于后者
(≤)-ge前者大于等于后者(≥)
相关文章推荐
- shell流程控制语句
- shell基础及流程控制语句之一for循环
- Shell测试运算和流程控制语句 监控disk、cpu和处理qmail邮件队列
- Shell测试运算和流程控制语句 监控disk、cpu和处理qmail邮件队列
- Shell学习笔记(8)-流程控制之IF语句
- shell流程控制--循环语句
- shell脚本之-if流程控制语句和for循环语句的使用
- shell入门之流程控制语句 分类: 学习笔记 linux ubuntu 2015-07-10 16:38 89人阅读 评论(0) 收藏
- Linux学习之Shell--第三天:Shell流程控制-if语句
- linux中shell五种流程控制语句介绍
- shell入门之流程控制语句
- Linux学习之Shell--第四天:Shell流程控制-循环语句for
- shell:条件测试操作与流程控制语句
- shell脚本基础进阶(三)----流程控制语句
- shell入门之流程控制语句
- SHELLcase流程控制和for、while循环语句的使用
- shell流程控制语句 case
- shell流程控制语句
- 【Linux学习笔记】Shell 基础(3) — Shell流程控制语句
- Shell学习笔记(11)-流程控制之select、until语句