标签:$* ash 表达 bash pre 用户 sci 空格 -o
\u 表示当前用户名 \h 表示机器名称 \W 表示当前工作目录的基名 \w 表示当前工作目录的全路径 $0、$1、$2、$3: $0 指此shell文件的名称 $1 指传给shell程序的第一个参数 $2 指第二个参数 $3 指第三个参数 $# shell命令中参数的个数 $*、$@: shell命令中的所有参数 $?: shell命令或shell程序执行后的返回值或退出状态值,是一个介于0~255之间的整数
字符串比较运算符
=或== 判断两个字符串是否相等 != 判断两个字符串是否不想等 < 左边的字符串在ASCII码表的顺序前于右边的字符串,只能用于[[ ]]中 > 与<效果相反,只能用于[[ ]] -z 字符串是否为空 -n 字符串是否非空 注意:字符串比较运算符不存在“>=”或“<=”
整数比较逻辑表达式
-eq 表示等于 -ne 表示不等于 -lt 表示小于 -gt 表示大于 -le 表示小于等于 -ge 表示大于等于 上述运算符可以用于(( ))和[[ ]],整个比较表达式两侧及比较运算符两侧留有空格。 如果用于[[ ]],要注意整个逻辑表达式两侧及比较运算符两侧留有空格。 如果用于(( )),可不必留空格。 除了=和!=,[]中不能使用数学上的比较运算符。 在[[ ]]中,两类数值比较运算符都可以使用。 在(( ))中只能使用=、!=、<、>、>=、<=,不能使用第一类比较运算符。
文件判断与比较逻辑表达式
-e 文件存在 -f 正常文件(不是目录或设备文件) -s 不是空文件 -d 文件是目录 -h 链接文件 -r 对当前文件用户可读 -w 对当前文件用户可写 -x 对当前文件用户可执行 -O 当前用户为文件所属主 -nt 如f1 -nt f2 表示文件 f1 比 f2 新 -ot 如f1 -nt f2 表示文件 f1 比 f2 旧
如果一个变量赋值为包含空格的字符串,在[ ] 中使用这个变量时,要使用双引号括住,而在 [[ ]] 则不需要。
多个逻辑表达式的复合
-a 或 && 表示 与 -o 或 || 表示 或 ! 非运算符 在[ ]中使用-a、-o、!. 不能使用圆括号括住逻辑表达式构成复杂逻辑表达式,而要使用\( \)的形式,可以使用$(( ))进行逻辑表达式的复杂运算。 在[[ ]]和(( ))中使用&&、||、! 可以使用圆括号 && 和 || 可以在两对 [ ] 之间使用 示例: [ 1 -lt 2] && [ 3 -gt 4 ]
case语句--语法
case expression in value1) action1 ;; value2) action2 ;; ... *) action ;; esac * 表示任意个任意字符 ? 表示一个任意字符 [ ] 表示一个取值范围,用管道符表示逻辑或
标签:$* ash 表达 bash pre 用户 sci 空格 -o
原文地址:http://blog.51cto.com/10579005/2072223