`
- 浏览:
1040552 次
-
測試條件在Bourne shell的內部命令裡面有測試條件的語法test給if while用test condition或者[ condition ]為了與autoconf不要混淆,programmer比較喜歡用test 不用中括號condition的方法。括號的用法請注意空格(这里容易出错哦)。 例如檔案測試條件test -f /etc/file 檔案是個一般檔案不是其他特殊檔案嗎[ -e file ] 檔案存在嗎[ -d /etc/ ] 目錄存在嗎[ -s file ] 檔案大小大於0嗎[ -r file ] 檔案可讀嗎[ -b file ] 区块文件[ -c file ] 字符文件[ -f file ] 一般文件[ -w file ] 文件可写吗[ -x file ] 文件可执行吗[ -k file ] 设定了限定位[ -g file ] 设定了组位[ -u file ] 设定了user id[ -p file ] 管线字串測試條件[ "$string" ] string有東西就返回true[ -n "$string" ] string有東西(non-zero)返回true[ -z "$string" ] string沒東西(zero)返回true[ "$s1" = "$s2" ] s1 等於 s2時返回true[ "$s1" != "$s2" ] s1 不等於 s2時返回true數值條件 小心有多個-喔[ $num1 -eq $num2 ] num1相等 num2 為true[ $num1 -ne $num2 ] 不等 num2 為true[ $num1 -lt $num2 ] 小於 num2 為true[ $num1 -ge $num2 ] 大於等於 num2 為true[ $num1 -le $num2 ] 小于等于 num2 为true[ $num1 -gt $num2 ] 小于 num2 为 true多重條件[ ! -f "testfile" -o ! -r "testfile" ][ test condition -o test condition ]! 表示not-a 表示and-o 表示or通常比較常用的又有portable的就是上面一些用法。 美觀上來說用中括號condition比較好看,很多人為了autoconf的語法portable起見, 盡量用test的寫法。測試的結果當然放在$?中,0表示成功, 其他值表示失敗。在shell script中也有可能看到有人用if [ "x$VAR" = "xvalue" ]; then .....來作$VAR是否是空的測試,尤其你如果先測試是否為空字串, 再測試是那個值要做什麼,這樣就會作兩次測試划不來,用這樣作比較經濟。另外這跟perl字串與數值測試容易混淆,他跟perl剛好相反,而且perl沒有多-perl語法if ($str1 eq $str2)if ($num1 == $num2)最後有個大比較,會一起列出shell perl c的差異來。(人老了記不住,我是這樣記 ,以perl為基準eq是字,所以前後是string,==是符號所以前後是number, bourne shell是怪胎,剛好顛倒,eq還要加個-符號。==要少一個=)C語法if (!strcmp(string1, string2))if (num1 == num2)
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
linux shell 条件测试
shell中条件测试.docx
shell 基本知识,包括控制结构,条件测试,通配符,引号等
【shell脚本】shell脚本之条件判断if、for与while循环(shell脚本基础学习二) shell中的if 单分支 if 条件测试 ;then 命令序列 fi 双分支 if 条件测试 ;then 命令序列1 else 命令序列2 fi 多分支 if 条件测试 ;...
一、条件测试操作 要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值(¥?)来判断是否执行成功,当返回值为0时表示成功,...
Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断、运算符和一些退出状态对后面的学习有很重要的影响。shell有一个内部命令test经常用于对判断语句进行测试一种或几种状态的条件是否成立
17_基础shell编程-条件测试.PDF 18_基础shell编程-控制流结构.PDF 19_基础shell编程-shell 函数.PDF 20_基础shell编程-向脚本传递参数.PDF 21_基础shell编程-创建屏幕输出.PDF 22_基础shell编程-创建屏幕输入....
18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化报表 194 18.7.10 while循环和文件描述符 196 18.8 使用break和...
Linux详细教程大全之shell脚本基础2-条件测试及控制流
主要内容: shell基础 基本介绍,环境,选项,特殊字符 shell变量 用户定义变量,环境变量,位置变量(shell 参数) shell script编程 条件测试,循环及重复控制 .shell定制
介绍:Bourne Shell 基础及其他很多有用的特性,shell编程及组织。 主要内容: .shell基础 基本介绍,环境,选项,特殊字符 .shell变量 用户定义变量,环境变量,位置变量...条件测试,循环及重复控制 .shell定制
第17 章条件测试.PDF 第18 章控制流结构.PDF 第19 章shell 函数.PDF 第20 章向脚本传递参数.PDF 第21 章创建屏幕输出.PDF 第22 章创建屏幕输入.PDF 第23 章调试脚本.PDF 第24 章shell 嵌入命令.PDF 第25 章深入讨论...
_grep家族 |_awk介绍 |_sed用法介绍 |_合并与分割 |_tr用法 第三部分登录环境 |_登录环境 |_环境和shell变量 |_引号 第四部分基础shell编程 |_shell脚本介绍 |_条件测试 |_控制...
017条件测试.pdf 018控制流结构.pdf 019shell 函数.pdf 020向脚本传递参数.pdf 021创建屏幕输出.pdf 022创建屏幕输入.pdf 023调试脚本.pdf 024shell嵌入命令.pdf 025深入讨论.pdf 026shell 工具.pdf 027...
Bash条件测试之文件测试–a/E FILE:存在文件为真练习:存在文件显示文件行数,不存在显示不存在–d FILE:存在且为目录文件为真–f FILE:存在且
第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试脚本 第二四章 SHELL嵌入命令 第五部分 高级SHELL编程技巧...
基础s h e l l编程 16、shell脚本介绍 17、条件测试 18、控制流结构 19、shell 函数 20、向脚本传递参数 21、创建屏幕输出 22、创建屏幕输入 23、调试脚本 24、...
18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化报表 194 18.7.10 while循环和文件描述符 196 18.8 使用break和...
主要内容: .shell基础 基本介绍,环境,选项,特殊字符 .shell变量 用户定义变量,环境变量,位置变量(shell 参数) .shell script编程 条件测试,循环及重复控制
第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试脚本 第二四章 SHELL嵌入命令 第五部分 高级SHELL编程技巧 第二五...