快速入門Shell編程(二)編寫簡單的Shell腳本

Shell腳本

編寫Python、PHP腳本通常需要掌握語言的函數,那麼Shell腳本則不需要,只需要掌握Linux命令就可以編寫Shell腳本,因爲Shell腳本就是由多個Linux命令組成,通過將多個Linux命令組合保存成一個腳本文件,可直接給其他人使用。


組合命令

進入一個目錄,查看目錄的文件,這個過程分別需要執行兩條命令,分別是cdls

分開執行兩個命令的形式如下:

[root@lincoding usr]# cd /usr/
[root@lincoding usr]#
[root@lincoding usr]# ls
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[root@lincoding usr]#

我們可以用分號;,來將兩個命令組合在起來,順序執行,那麼一起執行的形式如下:

[root@lincoding usr]# cd /usr/ ; ls
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
[root@lincoding usr]#

編寫Shell腳本流程

那麼如果這兩個命令經常使用或者提供給其他人使用,我們可以把這兩個命令用Shell腳本文件保存起來。

01 建立Shell腳本文件

使用bash的Shell通常以.sh後綴

[root@lincoding home]# touch test.sh

02 編寫Shell腳本

通過vi命令編寫test.sh腳本,內容如下:

cd /usr/
ls

需要注意的是Shell腳本里每條語句後面不用加分號;,每條命令採用換行的方式,執行Shell腳本的時候就會順序執行。

03 給予Shell腳本執行權限

因爲建立文件的時候,默認是沒有執行權限的,我們需要給予腳本執行權限,腳本纔可以運行

[root@lincoding home]# chmod u+x test.sh

查看腳本權限

[root@lincoding home]# ls -l test.sh
-rwxr--r--. 1 root root 13 Sep 12 09:10 test.sh

04 執行Shell腳本

用bash執行Shell腳本,執行的結果就和我們在外邊單行組合命令執行的結果是一樣的

[root@lincoding home]# bash test.sh
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

聲明Shell解釋器

那麼這裏還要考慮一下其他的問題,假設要把這個Shell腳本在與不同的系統下運行的時候就會有問題,如果系統默認的Shell不是bash,執行這個Shell腳本可能會失敗,因爲可能會有bash的一些Shell特性在裏邊。

那麼我們可以在Shell腳本文件的第一行聲明它使用的是哪個Shell,書寫的格式如下:

#!/bin/bash

這樣寫的好處是,執行Shell腳本的時候,會自動告訴系統用bash解釋器的Shell來執行腳本。

我們將剛纔的test.sh腳本修改後如下:

#!/bin/bash
cd /usr/
ls

那麼聲明使用哪個Shell解釋器後,我們執行腳本的方式就可以變的很簡單了

[root@lincoding home]# ./test.sh
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

小結

我們編寫Shell腳本時,第一行要以#!/bin/bash聲明Shell解釋器,編寫完後要給予Shell執行權限,接着就可以執行運行了。

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