2017年11月18日 星期六

Bash Shell | 如何使用單一指令 Simple Command

Bash 最常用到的就是 Simple Command,包含命令名稱與命令的參數。

範例:

echo These are arguments of echo

說明:

echo 是一個 simple command
These are arguments of echo
因為沒有用雙引號括起來,每個字都是 echo 的參數,共有 5 個參數

命令執行結束還會有離開狀態 (exit status),可以根據離開狀態 (exit status) 做為接下來要執行指令的判斷依據。離開狀態 (exit status) 的原則是,當離開狀(exit status) 為 0 時表示執行成功,非 0 表示失敗。離開狀態的範圍從 0 到 255,可以在 Simple Command 執行後從變數 $? 取得 Simple Command 的離開狀態 (exit status)。

注意因為每個 command 執行後都有離開狀態 (exit status),表示 $? 在每個指令執行後都會改變,如要取得特定指令的離開狀態 (exit status),必須在特定指令後立即參考 $?

官方離開狀態 (exit status) 資訊

範例:

#!/bin/sh

function IS_VAR_SET()
{
    if declare -p $1 &> /dev/null; then
        echo "$1 is set"
    else
        echo "$1 is unset"
    fi
}

declare -p var1 &>/dev/null
echo "The exit status of 'declare -p var1' is $?"
IS_VAR_SET var1

echo "set var1"
var1=
declare -p var1 &>/dev/null
echo "The exit status of 'declare -p var1' is $?"
IS_VAR_SET var1

結果:

The exit status of 'declare -p var1' is 1
var1 is unset
set var1
The exit status of 'declare -p var1' is 0
var1 is set

說明:

使用 declare -p 來判斷變數是 set 或 unset,從範例結果可知,當變數是 set,
declare -p 的離開狀態 (exit status) 是 0,而 unset 時是 1。

沒有留言:

張貼留言