export 变量名 声明全局变量
env | grep 变量名 查询变量
unset 变量名 取消全局变量
$n 返回第n个参数
$# 返回输入的参数总个数
$0 返回脚本名
$? 返回执行是否成功
¥{变量名:起始位置:截取长度} 精确截取字符串
${变量名:-默认值} 有值输出变量名的值,无值输出默认值(先定义变量)
${变量名+默认值} 有值,无值都输出默认值(直接输出使用)
测试表达式 test 表达式 [ 条件表达式 ] 注意空格
条件表达式
&& 命令一 && 命令二 一成功执行二,不成功不执行
|| 命令一||命令二 一不成功执行二 一成功执行一
[ -f 文件名 ] 判断是不是文件
[ -d 文件名 ] 判断是不是目录
[ -x 文件名 ] 判断文件有没有执行权限
数值操作符
n1 -eq n2 相等
n1 -gt n2 大于
n1 -ge n2 大于等于
n1 -lt n2 小于
n1 -le n2 小于等于
n1 -ne n2 不等于
字符串比较
str1 == str2 str1和str2字符串内容一致
str1 != str2 str1和str2字符串内容不一致,!表示相反的意思
$((计算表达式)) let 计算表达式
重定向 > 覆盖显示 >>追加显示
管道符 |
命令1 | 命令2
管道符左侧命令1 执行后的结果,传递给管道符右侧的命令2使用
其他符号
后台展示符号 & & 就是将一个命令从前台转到后台执行
全部信息符号 2>&1
符号详解:
1 表示正确输出的信息
2 表示错误输出的信息
2>&1 代表所有输出的信息
/dev/null 垃圾桶文件