Shell脚本基本功


请尊重原创版权,转载注明出处。

数值比较

T1

数字比较

比较 描述
n1 -eq n2 n1是否与n2相等
n1 -ge n2 n1是否大于或等于n2
n1 -gt n2 n1是否大于n2
n1 -le n2 n1是否小于或等于n2
n1 -lt n2 n1是否小于n2
n1 -ne n2 n1是否不等于n2

字符串比较

比较 描述
str1 = str2 str1和str2相同
str1 != str2 str1和str2不相等
n1 -gt n2 n1是否大于n2
str1 < str2 str1是否比str2小
str1 > str2 str1是否比str2大
-n str1 str1的长度是否非0
-z str1 str1的长度是否为0

文件比较

T2

文件比较

比较 描述
-d file file是否存在并是一个目录
-e file file是否存在
-f file file是否存在并是个文件
-r file file是否存在并可读
str1 > str2 str1是否比str2大
-s file file是否存在并非空
-w file file是否存在并可写
-x file file是否存在并可执行
-O file file是否存在并属当前用户所有
-G file file是否存在并且默认组与当前用户相同
file1 -nt file2 file1是否比file2新
file1 -ot file2 file1是否比file2旧

for命令

T3

修改分割符

T4

分割符设置 描述
IFS=$'\n' 设置换行符为分隔符
IFS=$'\n:;"' 设置换行符、冒号、分好、双引号为分隔符

while命令

T5

continue命令

T6

case命令

T7

创建函数

T8

bash shell会把函数当做小型脚本,运行结束时会返回一个退出状态码,用$?判断程序的运行状态。

状态码 描述
0 命令成功结束
1 通用未知错误
2 误用shell命令
126 命令不可执行

特殊参数变量

T9

运行:

Ta

特别注意:“$”变量会将所有参数当做单个参数,“$@”会单独处理每个参数;而$变量和$@变量均会将所有参数当做单个参数。

文档信息
--------------
* 版权声明:自由转载-非商用
* 转载: []

Markdown简明教程