亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Shell獲取當(dāng)前正在執(zhí)行腳本的絕對路徑

 更新時間:2021年09月10日 11:17:27   作者:SunnyYoona  
本文主要介紹了Shell獲取當(dāng)前正在執(zhí)行腳本的絕對路徑,主要有三種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

1. pwd命令

我們看看使用pwd命令能否獲取當(dāng)前正在執(zhí)行腳本的絕對路徑。該命令的作用是“print name of current/working directory”,真實(shí)含義是當(dāng)前工作目錄,并不是正在執(zhí)行腳本的目錄。

xiaosi@Qunar:~/company/sh$ cat pwd.sh
echo `pwd`
xiaosi@Qunar:~/company/sh$ sh pwd.sh
/home/xiaosi/company/sh
xiaosi@Qunar:~/company/sh$ cd ..
xiaosi@Qunar:~/company$ sh sh/pwd.sh 
/home/xiaosi/company

pwd.sh腳本中只有一句:echo `pwd`。通過在不同路徑下運(yùn)行腳本,sh pwd.sh得到/home/xiaosi/company/sh,然而sh sh/pwd.sh 得到/home/xiaosi/company,所以說pwd命令并不能得到正在執(zhí)行腳本的目錄。

2. $0

$0是Bash環(huán)境下的特殊變量,其真實(shí)含義是:Expands to the name of the shell or shell script. This is set at shell initialization.  If bash is invoked with a file of commands, $0 is set to the name of that file. If bash is started with the -c option, then $0 is set to the first argument after the string to be executed, if one is present. Otherwise, it is set to the file name used to invoke bash, as given by argument zero。

$0值與調(diào)用的方式有關(guān):

(1)使用一個文件調(diào)用bash,那$0的值是文件的名字

xiaosi@Qunar:~/company/sh$ cat pwd.sh 
echo $0
xiaosi@Qunar:~/company/sh$ sh pwd.sh 
pwd.sh

(2)使用-c選項(xiàng)啟動bash,真正執(zhí)行的命令會從一個字符串中讀取,字符串后面如果還有別的參數(shù)的話,使用從$0開始的特殊變量引用(跟路徑無關(guān)了)

(3)除此以外,$0會被設(shè)置成調(diào)用bash的那個文件的名字(沒說是絕對路徑)

3. 正解

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

dirname $0,取得當(dāng)前執(zhí)行的腳本文件的父目錄

cd `dirname $0`,進(jìn)入這個目錄(切換當(dāng)前工作目錄)

pwd,顯示當(dāng)前工作目錄(cd執(zhí)行后的)

到此這篇關(guān)于Shell獲取當(dāng)前正在執(zhí)行腳本的絕對路徑的文章就介紹到這了,更多相關(guān)Shell獲取腳本絕對路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • shell腳本中使用return和exit的方法

    shell腳本中使用return和exit的方法

    return和exit各有用途,合理使用可以使shell編程更規(guī)范可控,return是一個關(guān)鍵字, exit是一個函數(shù),這篇文章主要介紹了shell腳本之如使用return和exit,需要的朋友可以參考下
    2023-08-08
  • Linux echo命令的使用及三種實(shí)現(xiàn)方式

    Linux echo命令的使用及三種實(shí)現(xiàn)方式

    這篇文章主要介紹了Linux echo命令的使用及三種實(shí)現(xiàn)方式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • linux腳本判斷條件總結(jié)(必看)

    linux腳本判斷條件總結(jié)(必看)

    下面小編就為大家?guī)硪黄猯inux腳本判斷條件總結(jié)(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Linux 中awk 提取包含某個關(guān)鍵字的段落

    Linux 中awk 提取包含某個關(guān)鍵字的段落

    AWK是一種處理文本文件的語言,是一個強(qiáng)大的文本分析工具。這篇文章主要介紹了Linux 中awk 提取包含某個關(guān)鍵字的段落實(shí)例代碼,需要的朋友可以參考下
    2020-01-01
  • Linux下的ctrl常用組合鍵及操作方法

    Linux下的ctrl常用組合鍵及操作方法

    這篇文章主要介紹了Linux下的ctrl常用組合鍵及操作方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • shell腳本實(shí)現(xiàn)分日志級別輸出的方法

    shell腳本實(shí)現(xiàn)分日志級別輸出的方法

    下面小編就為大家?guī)硪黄猻hell腳本實(shí)現(xiàn)分日志級別輸出的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • linux下開啟php的sockets擴(kuò)展支持實(shí)例

    linux下開啟php的sockets擴(kuò)展支持實(shí)例

    下面小編就為大家?guī)硪黄猯inux下開啟php的sockets擴(kuò)展支持實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • shell使用mysqld_multi自動做多實(shí)例從庫腳本

    shell使用mysqld_multi自動做多實(shí)例從庫腳本

    這篇文章主要介紹了shell使用mysqld_multi自動做多實(shí)例從庫腳本,需要的朋友可以參考下
    2014-03-03
  • shell腳本批量執(zhí)行指定路徑下sql腳本的實(shí)現(xiàn)

    shell腳本批量執(zhí)行指定路徑下sql腳本的實(shí)現(xiàn)

    本文主要介紹了shell腳本批量執(zhí)行指定路徑下sql腳本的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • shell清理指定目錄中指定天數(shù)之前的舊文件

    shell清理指定目錄中指定天數(shù)之前的舊文件

    本文主要介紹了shell清理指定目錄中指定天數(shù)之前的舊文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評論