Linux 的 Bash script 想要抓到此隻程式的完整路徑、從根目錄到此程式的路徑,要怎麼做?
Bash script 抓取程式完整路徑 與 目錄路徑
抓取執行程式的路徑與檔名
$0 # 秀出執行此檔案的執行路徑與檔名,範例如下:
- ~/bin/foo.sh
#!/bin/bash echo $0
- ./foo.sh # ./foo.sh
- 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