Bash script 抓取程式完整路徑 與 目錄路徑

Linux 的 Bash script 想要抓到此隻程式的完整路徑、從根目錄到此程式的路徑,要怎麼做?

Bash script 抓取程式完整路徑 與 目錄路徑

抓取執行程式的路徑與檔名

$0 # 秀出執行此檔案的執行路徑與檔名,範例如下:

  1. ~/bin/foo.sh
    #!/bin/bash
    echo $0
  2. ./foo.sh # ./foo.sh
  3. bin/foo.sh # bin/foo.sh

抓取此 script 的完整路徑

抓取此程式的完整路徑 與 目錄路徑

要抓取完整路徑,可以使用 readlink + $0 來達成,再用 dirname 來抓取完整目錄的路徑。

vim ~/bin/foo.sh

#!/bin/bash

ABSPATH=$(readlink -f "$0") # /home/user/bin/foo.sh
SCRIPTPATH=$(dirname "$ABSPATH") # /home/user/bin
echo $SCRIPTPATH # /home/user/bin

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈Bash script 抓取程式完整路徑 與 目錄路徑〉中有 2 則留言

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料