参考文档
脚本分类
- Bourne Shell(/usr/bin/sh或/bin/sh)
- Bourne Again Shell(/bin/bash), 一般系统默认采用bash
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
常用语法
脚本文件一般为filename.sh, 增加执行权限 sudo chmod +x filename.sh
和C 语言一样,bash 程序也有分支,循环,注释 等语法。
观看视频了解更多
指定脚本解析器路径
1
#!/bin/bash
注释
1
2
3
4
5
6
7
8
9
10
11# 单行注释
:<<!
多行注释,! 可以换成其它
代码不会执行此区域代码
!
<< EOF
多行注释,EOF 不能变
代码不会执行此区域代码
EOF输出打印
1
echo "hello bash!"
变量, 无类型
1
2
3
4
5price=100
path=/bin/
# $-取变量值
echo $price函数,function关键字定义函数
1
2
3
4
5
6
7
8
9
# 定义函数,无参数,无返回值
function Add()
{
local a=10
local b=20
echo "a+b: $(( a+b ))"
echo $a+$b
}运算符号,这里语法比较特别
-eq 相当于C ==
-ne 相当于C !=
-gt 相当于C >
-lt 相当于C <
-ge 相当于C >=
-le 相当于C <=条件语句 if else
1
2
3
4
5
6
7
8
9num1=10
num2=20
if [ $num1 -eq $num2 ]
then
echo "$num1 等于 $num2"
else
echo "$num1 不等于 $num2"
fi循环语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17for (( var=1; var<=10; var++ ))
do
echo -n "$var"
done
echo ""
for num in 1 2 3
do
echo $num
done
num=1
while [ $num -le 0 ]
do
echo number : $num
(($num))
done重定向 > >>
将输出内容写到指定的文件。> 会覆盖已有文件,如果文件不存在则新建一个。>> 采用追加的方式写入文件重定向 <
将从文件中读取内容。