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