shell编程__自我总结
执行方式:首先赋予x权限(可执行权限),然后./脚本 执行
使用sh+脚本来解释执行
等号两边不能有空格,双引号仅将空格脱意,单引号回将所有特殊字符脱意
unset 撤销变量
readonly 声明只读变量,不能unset
export 将变量提升至全局变量,可供其他shell使用
反引号 运行命令,并返回结果
$? 表示上一个命令退出的状态
$$ 表示当前进程编号
$0 表示当前脚本名称
$n 表示n位置的输入参数(n代表数字,n>=1)
$# 表示参数的个数,常用于循环
$*和$@ 都表示参数列表
$*和$@ 都表示参数列表,不被双引号包含时,都以$1 $2...$n的形式输出所有参数。
被双引号包含时:"$*" 会作为一个整体
"$@" 会将各个参数分开
运算符:expr m + n 或$((m+n)) 注意expr运算符间要有空格
for循环:
for N in 1 2 3
do
echo $N
done
或
for N in {1..3};
do
echo $N;
done
或
for ((i = 0; i <= 5; i++))
do
echo "welcome $i times"
done
while循环:
while expression
do
command
…
done
i=1
while ((i<=3))
do
echo $i
let i++
done
case语句
case $1 in
start)
echo "starting"
;;
stop)
echo "stoping"
;;
*)
echo "Usage: {start|stop} “
esac
read -p(提示语句)-n(字符个数) -t(等待时间)
if语句
if condition
then
statements
elif condition
then statements
else
statements
fi
判断语句
[ condition ] (注意condition前后要有空格)
[ condition ] && echo OK || echo notok 条件满足,执行后面的语句
常用判断条件
= 字符串比较
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
-r 有读的权限
-w 有写的权限
-x 有执行的权限
-f 文件存在并且是一个常规的文件
-s 文件存在且不为空
-d 文件存在并是一个目录
-b文件存在并且是一个块设备
-L 文件存在并且是一个链接
脚本调试:
sh -vx helloWorld.sh
或者在脚本中增加set -x

浙公网安备 33010602011771号