2017年11月30日 星期四

Bash Shell | 如何使用內建指令 type Command

type 指令可以用來查詢某個指令的型態,可能的型態如下
1. 別名 (alias)
2. 函式 (function)
3. 內建指令 (builtin)
4. 檔案 (file)
5. 關鍵字 (keyword)

在終端機下執行底下指令,此範例執行 type 指令並傳入五個參數


範例:


type ls command_not_found_handle source cp if


結果:


ls is aliased to `ls --color=auto'

command_not_found_handle is a function
command_not_found_handle () 

    runcnf=1;
    retval=127;
    [ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0;
    [ ! -x /usr/libexec/packagekitd ] && runcnf=0;
    if [ $runcnf -eq 1 ]; then
        /usr/libexec/pk-command-not-found $1;
        retval=$?;
    else
        echo "bash: $1: command not found";
    fi;
    return $retval
}
source is a shell builtin
cp is /bin/cp
if is a shell keyword

說明:


1. ls 是一個別名 (alias),也可以透過 alias 指令來查詢所有的別名。

2. command_not_found_handle 是一個函式 (function),也可以透過 set 看到函式原型
3. source 是 bash 的一個內建指令 builtin
4. cp 是一個檔案 (file),位置在 /bin 目錄底下
5. if 是一個 bash 的關鍵字 (keyword)

好站連結
1. http://linux.vbird.org/linux_basic/0320bash.php#bash_type

沒有留言:

張貼留言