Shell脚本定义变量
variable=value
variable=“value”
variable=‘value’
不能有空格
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的所有参数
$@ 传递给脚本或函数的所有参数,但是这两个还是有区别的
$?上个命令的退出状态或者获取函数返回值
$$ 当前shell进程ID,对于shell脚本就是这些脚本的进程ID
字符串拼接
直接并排放
读取从键盘输入的数据
read
逻辑与/或
command1 && command2
command1 || command2
检测某个条件是否成立
text expression 和 [expression]
-eq 判断数值是否相等
-ne 判断数值是否不等于
-gt 判断数值是否大于
-lt 判断数是否小于
-ge 判断数值是否大于等于
-le 判断数值是否小于等于
-z str 判断字符串str是否为空
-n str 判断字符串是否为非空
-d filename 判断文件是否存在,并且是否为目录文件
-f filename 判断文件是否存在,并且是否为普通文件
管道
command1 | command2
if语句
if condition
then
statement1
else
statement2
fi
case in语句
case experience in
pattern1)
statement1
;;
pattern2)
statement2
;;
pattern3)
statement3
;;
*)
statement
esac
for in语句
for variable in value_list
do
statements
done
value_list 直接给出具体的值,给出一个取值范围,使用命令的执行结果,使用shell通配符,使用特殊变量
while 循环
while condition
do
statements
done
函数
function name(){
statements
[return value]
}
Linux环境变量
环境变量 export 直接定义即可
shell :/bin/bash
shell配置文件
shell执行顺序
/etc/profile
~/.profile(~/,bash_profile)
~/.bash_login
修改配置文件
全部用户、全部进程共享:/etc/bash.bashrc
一个用户、全部进程共享:~/.bashrc
shell启动方式对变量的影响
子shell进程中执行:/bin/bash和./
当前进程中执行.scouce和.