创建和加载
创建 vim filename.sh
加载有三种方式
假设在/root目录下创建了hello.sh
1 绝对路径 /root/hello.sh
2 相对路径 ./hello.sh
以上两个可能出现权限问题,下面一定可以执行
3 shell命令 sh hello.sh
变量
分类
静态,普通,环境
静态只读不可被文本外操作
环境变量才可以被该shell以外引用,包含其他shell或纯echo(如echo $PATH)
声明
1 变量由数字,下划线和字母组成,可是不可以是数字开头。
2 赋值变量 "=
"左右两边不能有空格,如A=1,而A = 1是不可识别的。
3 使用unset可以撤销赋值操作
4 静态(只读变量)不能被撤销,形式为readonly A=1
变量输出
echo $A
和 echo "$A"
都可以
不使用$表示则当成字符串输出
前两者是一样的,而后者因为撤销了变量所以为空
函数赋值
A=$(date)
A=`date`
这两个都可以把当前日期赋值给变量A
echo之后结果为
注释
使用
:<<!
内容
!
完成注释,记住需要空格
运算符
1 $[]
2 $(())
3 expr a + b 运算符和数之间要有空格 *为乘 /为除
条件判断
[ 条件式 ] 注意需要和中括号隔开
-lt -gt -eq -ne -le -ge
分支
if []
then
elif []
then
else
then
if
for循环
for i in 1 2 3
for $((i=1;i<n;i++))
while循环
while [ $i < 5 ]
预定义变量
$$ 当前进程
$! 最晚执行进程
$? 上次命令返回状态值,0为正确,非0为错误
整体变量
$@ 逐一访问全部
$* 访问全部相同
$# 返回变量数量
参考
韩顺平 Linux