1、shell 案例
1.1 “”和‘’的区别
1.2 位置参数变量
1.3 字符串运算符
下表列出了常用的字符串运算符,假定变量 a 为 “abc”,变量 b 为 “efg”:
运算符 | 说明 | 举例 |
---|---|---|
= | 检测两个字符串是否相等,相等返回 true。 | [ $a = $b ] 返回 false。 |
!= | 检测两个字符串是否相等,不相等返回 true。 | [ $a != $b ] 返回 true。 |
-z | 检测字符串长度是否为0,为0返回 true。 | [ -z $a ] 返回 false。 |
-n | 检测字符串长度是否不为 0,不为 0 返回 true。 | [ -n “$a” ] 返回 true。 |
$ | 检测字符串是否为空,不为空返回 true。 | [ $a ] 返回 true。 |
if [ $a ]
then
echo "$a : 字符串不为空"
else
echo "$a : 字符串为空"
fi
1.4 文件测试运算符
操作符 | 说明 | 举例 |
---|---|---|
-d file | 检测文件是否是目录,如果是,则返回 true。 | [ -d $file ] 返回 false。 |
-f file | 检测文件是否是普通文件,如果是,则返回 true。 | [ -f $file ] 返回 true。 |
for file in /root/*
do
if [ -f $file ]
then
echo $file
fi
done
1.5 ${ } :变量替换
用 于 变 量 替 换 。 一 般 情 况 下 , {}用于变量替换。一般情况下, 用于变量替换。一般情况下,var 与${var} 并没有啥不一样。但是用 ${ } 会比较精确的界定变量名称的范围。比如
$A=B
$ echo A B 原 本 是 打 算 先 将 A 的 结 果 替 换 出 来 , 然 后 再 补 一 个 B 字 母 于 其 后 , 但 在 命 令 行 上 , 真 正 的 结 果 却 是 只 会 提 换 变 量 名 称 为 A B 的 值 出 来 … 若 使 用 AB 原本是打算先将 A的结果替换出来,然后再补一个B字母于其后,但在命令行上,真正的结果却是只会提换变量名称为AB的值出来…若使用 AB原本是打算先将A的结果替换出来,然后再补一个B字母于其