文档详情

shell编程_韩月.ppt

发布:2017-12-10约2.39万字共78页下载文档
文本预览下载声明
简单数学表达式 let命令 格式:let arg1 [arg2 ......] 例子:计算(2+3)×4的值 let s=(2+3)*4 说明: 与expr命令相比,let命令更简洁直观 当运算符中有、、、|等符号时,同样需要用引号(单引号、双引号)或者斜杠来修饰运算符 条件判断 常见的条件: 变量属性; 文件属性; 命令执行结果; 多种条件的逻辑组合; 判断结果的一般定义: 真:0 假:1 格式: test condition [ condition ] 条件判断 测试文件属性 常用的文件属性条件判断 -f fn 如果fn存在且fn为普通文件则返回真,否则返回假。 -b fn 如果fn存在且fn为块设备则返回真,否则返回假。 -e fn 如果fn存在则返回真,否则返回假。 -d fn 如果fn 存在且fn为目录则返回真,否则返回假。 -r fn 如果fn存在且fn可读则返回真,否则返回假。 -w fn 如果fn存在且fn可写则返回真,否则返回假。 -x fn 如果fn存在且fn可执行则返回真,否则返回假。 -O fn 如果fn存在且被当前用户拥有则返回真,否则返回假。 -L fn 如果fn存在且fn为符号链接则返回真,否则返回假。 条件判断 字符串属性 常用字符串属性条件判断 string_1 = string_2 如果string_1和string_2两个字符串相等则返回真,否则返回假; string_1 != string_2 如果string_1和string_2两个字符串不相等则返回真,否则返回假; -z string 如果字符串string的长度为0则返回真,否则返回假; -n string 如果字符串string长度不为0则返回真,否则返回假; string 同-n string,如果字符串string长度不为0返回真,否则返回假。 整数关系 整数间关系判断 常用的整数关系条件判断 mum_1 –eq num_2 如果num_1和num_2相等则返回真,否则返回假; mum_1 –ne num_2 如果num_1不等于num_2则返回真,否则返回假; mum_1 –gt num_2 如果num_1大于num_2则返回真,否则返回假; mum_1 –lt num_2 如果num_1小于num_2则返回真,否则返回假; mum_1 –le num_2 如果num_1小于等于num_2则返回真,否则返回假; mum_1 –ge num_2 如果num_1大于等于num_2则返回真,否则返回假; 控制结构 控制结构: 根据某个条件的判断结果,改变程序执行的路径。可以简单的将控制结构分为分支和循环两种 。 常见分支结构: if case 常见循环结构: for while until if分支 格式: 说明: 中括号中的部分可省略; 当条件为真(0)时执行then后面的语句,否则执行else后面的语句; 以fi作为if结构的结束。 if 条件1 then 命令 [elif 条件2 then 命令] [else 命令] fi case分支 格式: 说明: “条件”可以是变量、表达式、shell命令等; “模式”为条件的值,并且一个“模式”可以匹配多种值,不同值之间用竖线(|)联结 ; 一个模式要用双分号(;;)作为结束 ; 以逆序的case命令(esac)表示case分支语句的结束 case 条件 in 模式1) 命令1 ;; [模式2) 命令2 ;; ............... 模式n) 命令n ;;] esac for循环 格式 说明: “列表”为存储了一系列值的列表,随着循环的进行,变量从列表中的第一个值依次取到最后一个值; do和done之间的命令通常为根据变量进行处理的一系列命令,这些命令每次循环都执行一次; 如果中括号中的部分省略掉,Bash则认为是“in $@”,即执行该程序时通过命令行传给程序的所有参数的列表。 for 变量 [in 列表] do 命令(通常用到循环变量) done for循环 格式 说明: “列表”为存储了一系列值的列表,随着循环的进行,变量从列表中的第一个值依次取到最后一个值; do和done之间的命令通常为根据变量进行处理的一系列命令,这些命令每次循环都执行一次; 如果中括号中的部分省略掉,Bash则认为是“in $@”,即执行该程序时通过命令行传给程序的所有参数的列表。 for 变量 [in 列表] do 命令(通常用到循环变量) done 函数 格式: 定义: 引用: 说明: 中括号中的部分可以省略; 如果在函数内部需要使用传递给函数的参数,一般用$0、$1、......、$n,以及$#、$*、$@这些特殊变量 :
显示全部
相似文档