執行 Linux Shell 程式有三種方式:
./script.shbash script.sh 或 sh script.shsource script.sh 或 . script.sh 在目前 Shell 環境中執行| 類型 | 說明 | 範例 |
|---|---|---|
| 內建命令 | 整合在 Shell 解譯器內部,執行不建立子行程 | cd, echo, export |
| Shell 函數 | 以 Shell 語法撰寫的程式碼區塊,可像命令一樣呼叫 | 自訂 function |
| 外部命令 | 獨立可執行檔,執行時會 fork 子行程 | find, grep, ls |
fork() 建立子行程(父行程複製品)exec() 取代自身映像並執行新程式,父行程進入等待關鍵特性:
source 執行腳本不建立子行程,直接在父行程環境中執行,故可修改環境變數local 宣告,僅在函數內有效export)# 顯示變數
echo $VAR_NAME
# 設定並匯出為環境變數
export PATH=/new/path:$PATH
# 查看所有區域變數(含環境變數)
set
# 僅查看環境變數
env
Shell 腳本優勢:
#!/bin/bash # 最常用
#!/bin/sh # POSIX 相容模式
#!/bin/python # Python 腳本