检查语法
bash -n /path/to/some_script
调试执行
bash -x /path/to/some_script
变成脚本中用到的变量
引用变量前面加$符号
赋值的时候
= 后面的字符串
局部变量只能在当前进程
环境变量可以从父进程传到子进程
set
显示所有变量
环境变量
变量声明 ,赋值
export name =VALUE
declare -x name =VALUE
变量引用 :$name ${name}
显示所有环境变量:
env
printenv
export
declare -x
删除变量:
unset name
小括号
一次性的,开启一个子shell 不影响上级shell
大括号
执行完 影响上级shell
只读和位置变量
只读变量:只能声明,但不能修改和删除
声明只读变量:
readonly name
把变量声明成readonly 就不能改了 想改就的退出当前进程
但是有时候需要把变量固定,就需要用到
declare -r name
查看只读变量:
readonly -p
位置变量:在脚本代码中调用通过命令行传递给脚本的参数
$1,$2,... :对应第1,第2 等参数,shift[n]换位置
$0:命令本身
$* :传递给脚本的所有参数,全部参数合为一个字符串
$@:传递给脚本的所有参数,每个参数为独立字符串
$#:传递给脚本的参数的个数
$@ $*只在被双引号抱起来的时候才会有差异
set -- 清空所有位置变量