dirname — 取得路徑的目錄部分

從路徑字串中取出目錄部分(去掉最後的檔名)。

語法

dirname 路徑...

常用選項

選項 說明 範例
-z 以 NUL 字元結束每個輸出(而非換行) dirname -z /path/file

使用範例

範例 1:取得路徑的目錄部分

去掉路徑中最後一個元件(檔名),回傳目錄路徑。

$ dirname /etc/nginx/nginx.conf
/etc/nginx
範例 2:在腳本中取得腳本所在目錄

這是 Shell 腳本中最常見的 dirname 用法,確保腳本可從任意位置執行。

$ #!/bin/bash
SCRIPT_DIR="$(dirname "$(realpath "$0")")"
source "/lib/utils.sh"
範例 3:批次取得多個路徑的目錄

可同時處理多個路徑引數。

$ dirname /usr/bin/ls /etc/hosts /var/log/syslog
/usr/bin
/etc
/var/log

延伸閱讀