shell文件后缀为.sh文件
用#注释
用echo 或 printf 输出
一个简单的实例
#!/bin/bash
echo "Hello World !"
运行一个.sh文件
chmod +x ./test.sh
./test.sh
shell 变量
定义变量:a="hello" b=1
输出变量: echo ${a} 或 echo $b 或 echo ${a} "world"
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。readonly a
删除变量:unset a 变量被删除后不能再次使用。unset 命令不能删除只读变量。
shell 字符串
shell中主要使用数据和字符串
字符串可以用单引号也可以用双引号
单引号中不能出现转义字符“\” 和变量,双引号中可以。
获取字符串长度:${#a}${a:1:2}
查询子字符串:expr index $a e
shell 数组
定义一个数组: array=(a b c d)
读取数组中的全部元素: ${array[@]}
将数组转为字符串:${array[*]}
获取数组长度:${#array}
shell运算符
算数运算符:

关系运算符:
布尔运算符:
逻辑运算符:
字符串运算符:
文件测试运算符:
shell 流程控制
if else
if condition
then ...
elif condition
then ...
else
...
fi
for
for var in a b c d
do
....
done
while
while conditon
do
....
done
until
until [condition]
do
....
done
case
case $a in
1) ....;;
2) ....;;
3) ....;;
*) ....;;
esac
shell 函数
func(){
echo $1
}
func() a
shell 向脚本传递参数
#!/bin/bash
echo "执行的文件名:$0";
echo "第一个参数为:$1";
输出结果如下所示:
$ chmod +x test.sh
$ ./test.sh 1
执行的文件名:./test.sh
第一个参数为:1