獲取路徑 $(cd `dirname $0`; pwd)


對於

PATH=$(cd `dirname$0`;pwd)

直接用pwd獲取PATH=$(`pwd`)的區別

比如在/tst1/tst2/script下有一個test.sh腳本,腳本命令為:

#!/bin/sh
PATH1=$(cd `dirname $0`;pwd)
echo $PATH1
PATH2=$(`pwd`)
echo $PATH2

  當在script文件夾下執行腳本時,這兩個命令是沒有區別的,都是返回的test.sh所在文件夾的絕對位置

而他們真正的區別在於當不在script下執行腳本時

比如在tst2下執行腳本: ./script/test.sh

此時PATH1返回的仍然是test.sh所在的絕對路徑,也及時/tst1/tst2/script

而PATH返回的則是當前執行的路徑,也就是/tst1/tst2

即pwd返回的是當前執行命令的路徑

因此如果要獲取執行腳本所在目錄時,應該使用

PATH=$(cd `dirname$0`;pwd)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM