解释性语言,不需要编译,可以直接执行。
vi xx.sh编辑脚本
#!/bin/bash ##用哪一种shell解析器执行
each "hello world"
##注释
sh xx.sh 执行脚本
./ xx.sh 执行脚本(管理员)
注:添加可执行权限
chmod u+x xx.sh
语法
=两边不能空格
$xx 获取变量xx的值
" " 解释$等符号
' ' 不解释,直接输出
export 将修饰的内容变成全局变量
xx
获取xx的返回结果
$?上一个命令退出的状态码
$$当前进程编号
$0当前脚本名称
$n n位置的输入参数
$# 参数个数
算数运算 expr (()) $[]
1+1 expr 1+1 两边带空格 ((1+1)) $[1+1]
(1+1)/2 expr expr 1+1
/2 (((1+1)/2)) $[(1+1)/2]
---------if-else
if [ xx ]
then aa
elif [xxx]
then bb
else
cc
fi
-------三目+条件判断
[ xx ] && aa || bb
&& = [ -a ] || =[ -o ]
[ -n"xx" ] xx字符长度为0 ,true
[-z"xx"] xx字符长度不为0 ,true
[ -lt ] 小于
[ -le ] 小于等于
[ -eq ] 等于
[ -gt ] 大于
[ -ge ] 大于等于
[ -ne ] 不等于
[ -d ] 是否为目录
[ -f ] 是否为文件
[ -e ] 是否存在
-------while
while xx
do
aa
done
-------case
case $x in
aa)
echo "aa";;
bb)
echo "bb";;
*)
echo "other"
esac
--------for
for x in a b c
do
echo $x
done
for ((i=0;i<=3;i++))
do
each "$i"
done
-------函数
#!/bin/bash
#test.sh
./xx.sh ##引入其他脚本
xxx() {
return echo "$1" ##打印第一个参数
}
xxx 1 ##调用xxx