Shell 腳本簡介

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"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章