列表:
Linux笔记——命令:Sort,uniq,join,cut,paste,split
Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数
鉴于博客,表格&排版&颜色标记等等无法显示,大家可以下载这个笔记的资源
12个文档,不需要积分,以目录+表格+颜色标记形式
下载资源地址http://download.youkuaiyun.com/detail/wklken/3815477
The end! Thx! wklken的笔记
-----------------------------------------------
条件测试
Test |
命令用于测试字符串、文件状态和数字,也同控制流相结合 文件状态判断; 字符串比较; 数字比较; 逻辑判断; |
语法 |
两种格式: test condition 或 [ condition ] 注意两边加了空格 中括号([])、参数之间必须有一个空格 |
文件条件测试 | |
-d | 目录 |
-f | 普通文件(Regular file) |
-L | 符号链接 |
-r | 可读 |
-b | 块专用文件 |
-e | 文件存在 |
-g | 如果文件的set-group-id位被设置则结果为真 |
-s | 文件长度大于0,非空 |
-w | 可写 |
-u | 文件有suid位设置 |
-x | 可执行 |
-c | 字符专用文件 |
-L | 符号链接 |
示例 | |
Set-uid位授予程序其拥有者的访问权限而不是其使用者的访问权限 Set-gid位授予了程序其所在组的访问权限 示例 1. 测试文件是否可写 $test –w dream $echo $? 或者 $[ -w dream ] 2. 测试目录是否存在 $[ -d appsbin ] 3. 测试文件权限是否设置了suid $[ -u dream] if test –f fred.c if [ -f fred.c ] then ….. fi |
逻辑运算符 | |
-a | 逻辑与 |
-o | 逻辑或 |
! | 逻辑否 |
示例: | |
1. 测试两文件是否均可读 $[ -w result.txt –a –w scores.txt ] $echo $? 2. 测试两文件中其中一个是否可执行 $[ -x dream –o –x dream2 ] 3. 判断是否可写可执行 $[ -w dream –a –x dream ] $echo $? 4. 判断文件是非可执行文件 $[ ! –x dream ] |
字符串测试 | |
字符串测试是错误捕获很重要的一部分,特别:测试用户输入或比较变量时尤为重要 | |
五种格式: | |
test “str” test str_operator “str” test “str1” str_operator “str2” [ string_operator str1 ] [ string string_operator string2 ] | |
String_operator 字符串比较 | |
= | 两字符串相等 |
!= | 两字符串不等 |
-z | 空串 [zero] |
-n | 非空串 [nozero] |
示例: | |
1. 测试环境变量是否为空 $[ -z $EDITOR ] $echo $? 2. 测试是否为某字符串 $[ $EDITOR = “vi” ] $echo $? 3. 测试 $TYPE=”/dev/rmt0” $TYPE2=”/dev/rmt1” $[ “$TYPE” = “$TYPE2” ] $echo $? |
数值测试 | |
格式 | |
“number” numberic_operator “number” 或 [ “number” numberic_operator “number”] | |
Numberic_operator 算术比较 | |
-eq | 数值相等 |
-ne | 不等 |
-gt | A>B |
-lt | A<B |
-le | A<=B |
-ge | A>=B |
示例: | |
1. 比较相等 $NUMBER=130 $[ $NUMBER –eq 130 ] $echo $? 另一个:$[ “$NUMBER” –eq “130” ] 【引号是否必须?】 2. 比较两变量 $SOURCE=13 $DEST=15 $[ “$SOURCE” –gt “$DEST”] $echo $? 3. 直接比较数值 $[ 990 –le 995 –a 123 –gt 33 ] |