第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Bash腳本獲取自身完整路徑的可靠方式

Bash腳本獲取自身完整路徑的可靠方式

Bash腳本獲取自身完整路徑的可靠方式我有一個(gè)Bash腳本需要知道它的完整路徑。我試圖找到一種廣泛兼容的方式來(lái)做到這一點(diǎn),而不會(huì)結(jié)束相對(duì)或時(shí)髦的路徑。我只需要支持Bash,而不是sh,csh等。到目前為止我發(fā)現(xiàn)了什么:從地址中獲取Bash腳本的源目錄的接受答案是獲取腳本的路徑dirname $0,這很好,但可能會(huì)返回相對(duì)路徑(如.),如果您想更改目錄中的目錄,這是一個(gè)問(wèn)題腳本并使路徑仍指向腳本的目錄。不過(guò),dirname將成為這個(gè)難題的一部分。對(duì)OS X的Bash腳本絕對(duì)路徑 的接受答案(特定于OS X,但答案無(wú)論如何)都會(huì)給出一個(gè)函數(shù),該函數(shù)將測(cè)試是否$0看起來(lái)相對(duì),如果是,則會(huì)預(yù)先掛起$PWD。但是結(jié)果仍然可以包含相對(duì)位(雖然總體來(lái)說(shuō)它是絕對(duì)的) - 例如,如果腳本t在目錄中/usr/bin并且你進(jìn)入/usr并且你輸入bin/../bin/t它來(lái)運(yùn)行它(是的,那是復(fù)雜的),你最終會(huì)得到/usr/bin/../binas腳本的目錄路徑。哪個(gè)有效,但......此頁(yè)面上的readlink解決方案如下所示:# Absolute path to this script. /home/user/bin/foo.shSCRIPT=$(readlink -f $0)# Absolute path this script is in. /home/user/binSCRIPTPATH=`dirname $SCRIPT`但是readlink不是POSIX,顯然解決方案依賴(lài)于GNU readlink,其中BSD由于某種原因無(wú)法工作(我無(wú)法訪問(wèn)類(lèi)似BSD的系統(tǒng)進(jìn)行檢查)。所以,各種方式,但他們都有他們的警告。什么是更好的方式?“更好”的意思是:給了我絕對(duì)的道路。即使以復(fù)雜的方式調(diào)用,也可以獲得時(shí)髦的位(參見(jiàn)上面#2的評(píng)論)。(例如,至少要對(duì)路徑進(jìn)行適度規(guī)范化。)僅依賴(lài)于Bash-isms或幾乎肯定會(huì)出現(xiàn)在最流行的* nix系統(tǒng)(GNU / Linux,BSD和類(lèi)似BSD的系統(tǒng),如OS X等)上的東西。如果可能,避免調(diào)用外部程序(例如,更喜歡Bash內(nèi)置程序)。(更新,感謝抬起頭,至極)它沒(méi)有解決符號(hào)鏈接(其實(shí),我倒是那種喜歡它,離開(kāi)他們獨(dú)自一人,但是這不是必須的)。
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

我很驚訝realpath這里沒(méi)有提到這個(gè)命令。我的理解是它廣泛便攜/移植。


您的初始解決方案變?yōu)?/p>


SCRIPT=`realpath $0`

SCRIPTPATH=`dirname $SCRIPT`

并根據(jù)您的偏好保留未解析的符號(hào)鏈接:


SCRIPT=`realpath -s $0`

SCRIPTPATH=`dirname $SCRIPT`


查看完整回答
反對(duì) 回復(fù) 2019-08-23
?
達(dá)令說(shuō)

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

我發(fā)現(xiàn)在Bash中獲得完整規(guī)范路徑的最簡(jiǎn)單方法是使用cdpwd

ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/$(basename "${BASH_SOURCE[0]}")"

使用${BASH_SOURCE[0]},而不是$0不管腳本是否被調(diào)用為產(chǎn)生相同的行為<name>source <name>


查看完整回答
反對(duì) 回復(fù) 2019-08-23
  • 3 回答
  • 0 關(guān)注
  • 630 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)