溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

bash?shell如何獲取當前腳本的絕對路徑

發(fā)布時間:2022-02-23 13:49:24 來源:億速云 閱讀:217 作者:iii 欄目:開發(fā)技術

本篇內容主要講解“bash shell如何獲取當前腳本的絕對路徑”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“bash shell如何獲取當前腳本的絕對路徑”吧!

有時候,我們需要知道當前執(zhí)行的輸出shell腳本的所在絕對路徑,可以用dirname實現(xiàn)。
我們知道 dirname 可以獲取一個文件所在的路徑,dirname的用處是:

輸出已經(jīng)去除了尾部的”/”字符部分的名稱;如果名稱中不包含”/”,
則顯示”.”(表示當前目錄)。

下面是dirname的命令行說明:

bash?shell如何獲取當前腳本的絕對路徑

從上面的描述可知道,直接從dirname返回的未必是絕對路徑,取決于提供給dirname的參數(shù)是否是絕對路徑。
所以下面這樣的代碼中SHELL_FOLDER中不一定是絕對路徑

SHELL_FOLDER=$(dirname "$0")

需要用cd和pwd命令配合獲取腳本所在絕對路徑,正確的寫法是這樣的,

SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)

如果你覺得上面的寫法比較麻煩,還有一個方式獲取腳本的絕對路徑,就是借助readlink命令,下面是readlink的命令行說明:

bash?shell如何獲取當前腳本的絕對路徑

所以用readlink命令我們可以直接獲取$0參數(shù)的全路徑文件名,然后再用dirname獲取其所在的絕對路徑:

SHELL_FOLDER=$(dirname $(readlink -f "$0"))

到此,相信大家對“bash shell如何獲取當前腳本的絕對路徑”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI