什麼是 Shell 指令碼?


Shell 指令碼是在 Unix shell(一種命令列直譯器)中執行的計算機程式中的一系列命令列表。Shell 指令碼通常包含描述步驟的註釋。Shell 指令碼執行的不同操作包括程式執行、檔案操作和文字列印。包裝器也是一種 Shell 指令碼,它建立程式環境、執行程式等。

Shell 的型別

Unix 中主要有兩種型別的 Shell。它們是

Bourne Shell

這是版本 7 Unix 的預設 Shell。字元 $ 是 Bourne Shell 的預設提示符。此 Shell 中的不同子類別包括 Korn Shell、Bourne Again Shell、POSIX Shell 等。

C Shell

這是一個 Unix Shell 和命令處理器,在文字視窗中執行。字元 % 是 C Shell 的預設提示符。C Shell 還可以輕鬆讀取檔案命令,稱為指令碼。

Shell 指令碼的功能

Shell 指令碼的不同功能包括:

  • 批處理作業

    可以使用 Shell 指令碼自動執行在命令列介面中手動輸入的多個命令。這可以在無需使用者單獨觸發每個命令的情況下完成。

  • 程式設計

    現代 Shell 指令碼中有很多功能僅在複雜的程式語言中才能找到,例如陣列、變數、註釋等。可以使用這些功能在 Shell 指令碼中編寫許多複雜的應用程式。但存在一個問題,即 Shell 指令碼語言不支援類、執行緒等。

  • 泛化

    在 Shell 指令碼中使用迴圈、變數等執行多個任務更加靈活。一個例子是名為 bash 的 Unix Shell 指令碼,它將 jpg 影像轉換為 png 影像。

  • 快捷方式

    Shell 指令碼為系統命令提供了一個快捷方式,其中應用了命令選項、環境設定或後處理。這仍然允許快捷方式指令碼充當 Unix 命令。

Shell 指令碼的優點

Shell 指令碼的一些優點包括:

  • Shell 指令碼的命令和語法與在命令列中輸入的命令和語法相同。因此,無需切換到完全不同的語法。
  • 編寫 Shell 指令碼程式碼比其他程式語言快得多。這也意味著程式更容易建立,並且可以輕鬆選擇所需的檔案。
  • Shell 指令碼還可以用於為現有程式提供連結。
  • 非專業使用者也可以使用 Shell 指令碼根據自己的需求修改和調整程式的行為。

Shell 指令碼的缺點

Shell 指令碼的一些缺點包括:

  • Shell 指令碼中可能存在一些錯誤,這些錯誤可能代價很高。
  • Shell 指令碼中的程式在執行時非常慢,並且每個執行的 Shell 命令都需要一個新程序。
  • Shell 指令碼中的不同平臺也可能存在相容性問題。

Shell 指令碼示例

在此示例中,建立了一個指令碼 demo.sh。指令碼和命令如下所示:

#!/bin/bash
gzip
zip
find
echo

這裡,

**gzip** 是一個建立、提取或檢視 .gz 檔案的命令,

**zip** 是一個用於建立或提取 zip 檔案的命令,

**find** 是一個有助於搜尋檔案的命令,

**echo** 是一個顯示一行文字的命令

更新於: 2020-06-22

17K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告