這篇文章主要講解了“如何獲取shell腳本自身所在目錄的Shell腳本”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何獲取shell腳本自身所在目錄的Shell腳本”吧!
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供吳江網(wǎng)站建設(shè)、吳江做網(wǎng)站、吳江網(wǎng)站設(shè)計、吳江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、吳江企業(yè)網(wǎng)站模板建站服務(wù),10多年吳江做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。簡單版
下面是一個最簡單的實現(xiàn),可以解決大多數(shù)問題,缺陷是對于軟鏈接顯示的是軟鏈接所在的目錄
lineos:false
代碼如下:
#!/bin/bash
DIR="$( cd "$( dirname "$0" )" && pwd )"
完善版
這個版本解決了使用ln -s target linkName創(chuàng)造軟鏈接無法正確取到真實腳本的問題。
lineos:false
代碼如下:
#!/bin/bash
SOURCE="$0"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
感謝各位的閱讀,以上就是“如何獲取shell腳本自身所在目錄的Shell腳本”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何獲取shell腳本自身所在目錄的Shell腳本這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!