shell是弱类型变成语言
变量赋值: VAR_NAME=VALUE
撤销变量: unset VAR_NAME
bash:
变量类型 1、环境变量
export VAR_NAME=VALUE
脚本在执行的时候会启动一个子shell进程:
命令行中启动的脚本会继承当前shell的环境变量
系统自动执行的程序脚本(非命令行启动)就需要自我定义环境变量
2、本地变量(局部变量)
VAR_NAME=VALUE 作用于整个bash进程。
local VAR_NAME=VALUE 作用于当前代码段。
3、位置变量
$1,$2,.....
4、特殊变量
$?:保存上一个命令执行状态返回值
程序执行以后可能有两只返回值
1、程序执行结果
2、程序执行状态返回代码(0-255)
0是正确执行
1-255:错误执行 1,2,127系统保留
bash如何实现条件判断?
条件测试类型:
1、整数测试
2、字符测试
3、文件测试
条件测试的表达式:
[ expression ] 两头空格 否则语法错
[[ expression ]] 同上
tset expression
整数比较:
-eq:测试两个整数是否相等 例如 $A -eq $B
-nq: 测试两个整数是否不等 不等 为真
-gt: 测试一个数是否大于另一个数
-lt: 测试一个数是否小于于另一个数
-ge: 大于或等于
-le:小于或等于
命令的逻辑关系:
逻辑与:&&
逻辑或:||
#!/bin/bash ! id user1 &> /dev/null && useradd user1 && echo "user1" |passwd --stdin user1 &> /dev/null || echo "用户已经存在"
条件判断,控制结构
if 判断条件 ;then
statement1
statement1
.....
else
statement3
statement4
....
fi
时间: 2024-11-05 19:31:25