1、结构
#!/bin/bash
需要赋予执行权限:chmod
执行:./test.sh
/home/test.sh
sh ./test.sh (不需要赋予执行权限,但是不推荐)
2、变量
系统变量:PATH、PATH、PATH、USER
自定义变量:A=s;echo A三个规则:把命令返回值赋给变量:A=‘ls−l/home‘D=A
三个规则:
把命令返回值赋给变量:
A=`ls -l /home`
D=A三个规则:把命令返回值赋给变量:A=‘ls−l/home‘D=(date)
位置参数变量:
$n:n为数字,$0代表命令本身,$1-9代表第一到第九个参数,十个以上的参数9代表第一到第九个
参数,十个以上的参数9代表第一到第九个参数,十个以上的参数{10}
$*:代表所有参数,
并且把这些参数看成一个整体
$@:代表所有参数,
并且把这些参数区分对待
$#:代表所有参数的个数
预定义变量:
$$:当前进程的进程号
$!:后台运行的最后一个进程的进程号
$?:最后一次执行命令返回的状态,
如果值为0,代表上一条命令正确
如果为非1,代表上一条命令执行不成功
./hello.sh & ——加了&,代表后台执行
3、运算符
1)((运算符))或者((运算符))或者((运算符))或者[运算符]
2)expr m + n : 注意expr运算符间要有空格
*:乘法转义
4、条件判断-条件判断式前后要有空格
判断条件:(数值比较)
-lt:小于
-le:小于等于
-eq:等于
-gt:大于
-ge:大于等于
-ne:不等于
判断文件的权限
-r:有读权限
-w:有写权限
-x:有执行权限
判断文件类型
-e:文件存在
-f:文件存在并且是有一个常规文件
-d:文件存在并且是一个目录
if [ 条件判断式 ]; then
程序
fi
或者
if [ 条件判断式 ];
then
程序
elif[ 条件判断式 ]
then
程序
fi
case语句
case $变量名 in
“值1” )
如果变量值等于值1,则执行程序1
;;
“值2” )
如果变量值等于值2,则执行程序2
;;
…
- )
如果变量值都不为以上的值,则执行此程序
;;
esac
5、循环结构
for循环
for 变量 in 值1 值2,,,
do
程序
done
或者
for (( 初始值;循环条件;变量变化))
do
程序
done
while循环
while 循环条件
do
程序
done

263

被折叠的 条评论
为什么被折叠?



