1. 什么是 Shell 脚本
个人理解是:Shell 脚本就是为了完成某个功能将一系列的 bash 命令按照一定的规则记录在一起的文件。
2. Hello World
1 #!/bin/bash
2 PATH=$PATH
3 export PATH
4
5 # This is a Hello world program
6 #author: cuifei 2016/10/23
7
8 echo -e "Hello world ! \n"
上述代码就是一个简单的输出 Hello world 的 Shell 脚本,文件名字是 hellowrodl.sh
。在文本终端进入 helloworld.sh
所在的目录。然后输入 bash helloworld.sh
执行该脚本,在屏幕上就会输出 Hello world !字样。
第一行:
#!/bin/bash
声明执行该脚本使用的是哪个 bash,一般在 Linux 中存在不止一个 bash,所以我们在编写脚本的时候应该表明其使用的是哪个 bash 来执行第二 、三行:设置 PATH 环境变量
#
之后的是注释,除了第一行#!/bin/bash
之外
3. 条件语句
3.1 if … then
3.1.1 简单的 if … else …
if [ a > 0 ];then
echo -e "a is bigger \n"
else
echo -e "a is lower \n"
fi
注意:
[ ]
的两端内外都有空格,fi
表示 if 结束了。
3.1.2 多层 if
a=10
if [ a > 0 ];then
echo -e "a is bigger \n"
echo -e "$a"
elif [ a == 0 ];then
echo -e "a is 0"
echo -e "$a"
else
echo -e "a is lower \n"
echo -e "$a"
fi
3.2 case … esac
case "$a" in
"10")
echo -e "10"
;;
"2")
echo -e "2"
;;
"*")
echo -e "not 10 and 2"
;;
esac
注:case … esac 每一个分之结束都是用
;;
表示,最后一个分之*)
表示默认的情况。整个 case 使用 esac 表示结束。
4 循环
4.1 while … do … done
i=0
b=0
echo -e "i is $i"
while [ "$i"<"10" ]
do
b=$(($b+$i))
i=$(($i+1))
done
echo -e "b is $s"
4.2 for
s=0
for ((i=0;i<"10";i=i+1))
do
s=$(($s+$i))
done
echo -e "s is $s"