最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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)使用一個(gè)文件調(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)啟動(dòng)bash,真正執(zhí)行的命令會(huì)從一個(gè)字符串中讀取,字符串后面如果還有別的參數(shù)的話,使用從$0開始的特殊變量引用(跟路徑無關(guān)了)

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

3. 正解

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

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

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

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

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

相關(guān)文章

  • Shell中的${}、##和%%使用范例

    Shell中的${}、##和%%使用范例

    這篇文章主要介紹了Shell中的${}、##和%%使用范例,本文給出了不同情況下得到的結(jié)果,需要的朋友可以參考下
    2015-04-04
  • 使用curl遞歸下載軟件腳本分享

    使用curl遞歸下載軟件腳本分享

    本腳本完成了對apache的鏡像網(wǎng)站的遞歸掃描。通過文件IO的緩存方式記錄可下載文件,再針對需要文件的后綴名批量下載軟件包備用,大家可以修改成自己腳本
    2014-03-03
  • shell中常用的命令之diff和patch用法

    shell中常用的命令之diff和patch用法

    這篇文章主要介紹了shell中常用的命令:diff和patch,在這里diff是比較文件內(nèi)容,patch是打補(bǔ)丁的,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • linux 操作 ftp 常用命令

    linux 操作 ftp 常用命令

    ftp服務(wù)器在網(wǎng)上較為常見,Linux ftp命令的功能是用命令的方式來控制在本地機(jī)和遠(yuǎn)程機(jī)之間傳送文件,這里詳細(xì)介紹linux 操作 ftp 常用命令,需要的朋友參考下吧
    2017-12-12
  • shell編程基礎(chǔ)知識(shí)小結(jié)

    shell編程基礎(chǔ)知識(shí)小結(jié)

    這篇文章主要介紹了shell編程基礎(chǔ)知識(shí),包括文件類型、正則表達(dá)式、字符類、引號類型、變量設(shè)置、條件測試、命令執(zhí)行順序、腳本調(diào)試方面的介紹
    2013-02-02
  • Shell判斷字符串變量是否為空的方法實(shí)現(xiàn)

    Shell判斷字符串變量是否為空的方法實(shí)現(xiàn)

    本文主要介紹了Shell判斷字符串變量是否為空的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • SED單行腳本快速參考中文版(Unix 流編輯器)

    SED單行腳本快速參考中文版(Unix 流編輯器)

    這篇文章主要介紹了SED單行腳本快速參考中文版,需要的朋友可以參考下
    2016-02-02
  • 用shell腳本自己一個(gè)秒級定時(shí)任務(wù)

    用shell腳本自己一個(gè)秒級定時(shí)任務(wù)

    這篇文章主要為大家詳細(xì)介紹了如何使用Shell腳本實(shí)現(xiàn)一個(gè)定時(shí)任務(wù)管理工具,可以每秒執(zhí)行一次,并保證任務(wù)異步、非阻塞執(zhí)行,需要的可以參考下
    2024-12-12
  • 用模板的方式創(chuàng)建守護(hù)進(jìn)程代碼實(shí)例

    用模板的方式創(chuàng)建守護(hù)進(jìn)程代碼實(shí)例

    用模板的方式創(chuàng)建守護(hù)進(jìn)程,只需要定義一個(gè)與int work(int argc,char **argv)相同的偽入口函數(shù)傳入start_domain()函數(shù)即可
    2013-12-12
  • linux shell命令的常用快捷鍵

    linux shell命令的常用快捷鍵

    下面是一些shell的常用快捷鍵,快捷鍵玩熟悉了在一定程度上是可以提高工作效率滴
    2013-01-01

最新評論

南澳县| 将乐县| 伽师县| 依安县| 咸阳市| 浦江县| 遂昌县| 玉溪市| 综艺| 峨山| 丰城市| 绥阳县| 邯郸县| 西盟| 六安市| 辽宁省| 长垣县| 陵水| 常宁市| 葫芦岛市| 墨脱县| 双柏县| 横山县| 宝清县| 和政县| 衡阳市| 温宿县| 壶关县| 延长县| 黄平县| 安远县| 静乐县| 京山县| 九寨沟县| 东乡县| 青川县| 衡东县| 永川市| 阜南县| 甘德县| 上犹县|