2020年9月11日 星期五

Bash Tip - 單行取得目前腳本檔絕對路徑的方法

Bash Tip - 單行取得目前腳本檔絕對路徑的方法

_t="${0%%`basename $0`}"; cd "$_t" ; sh_abs_path=`pwd`; echo "$sh_abs_path"

執行範例

  • 先將上列單行指令寫入到檔案
## 建立測試目錄
~$ mkdir -p /tmp/abspath_demo
## 將單行指令寫入到 demo.sh
~$ echo '_t="${0%%`basename $0`}"; cd "$_t" ; sh_abs_path=`pwd`; echo "$sh_abs_path"' >  \
   /tmp/abspath_demo/demo.sh

  • 執行 demo.sh
~$ sh "/tmp/abspath_demo/demo.sh"
/tmp/abspath_demo