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"