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

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

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

1. pwd命令

我們看看使用pwd命令能否獲取當前正在執(zhí)行腳本的絕對路徑。該命令的作用是“print name of current/working directory”,真實含義是當前工作目錄,并不是正在執(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`。通過在不同路徑下運行腳本,sh pwd.sh得到/home/xiaosi/company/sh,然而sh sh/pwd.sh 得到/home/xiaosi/company,所以說pwd命令并不能得到正在執(zhí)行腳本的目錄。

2. $0

$0是Bash環(huán)境下的特殊變量,其真實含義是: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)用的方式有關:

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

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

3. 正解

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

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

cd `dirname $0`,進入這個目錄(切換當前工作目錄)

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

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

相關文章

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

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

    這篇文章主要介紹了Shell中的${}、##和%%使用范例,本文給出了不同情況下得到的結果,需要的朋友可以參考下
    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是打補丁的,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • linux 操作 ftp 常用命令

    linux 操作 ftp 常用命令

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

    shell編程基礎知識小結

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

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

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

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

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

    用shell腳本自己一個秒級定時任務

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

    用模板的方式創(chuàng)建守護進程代碼實例

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

    linux shell命令的常用快捷鍵

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

最新評論

闵行区| 湘潭市| 习水县| 沁源县| 贡觉县| 南宫市| 辽阳市| 卢龙县| 孟连| 大冶市| 嘉兴市| 常宁市| 安溪县| 平陆县| 芜湖市| 龙井市| 高密市| 上杭县| 延寿县| 文安县| 桓仁| 德保县| 新昌县| 塘沽区| 玛纳斯县| 那坡县| 萝北县| 姚安县| 汤阴县| 阳曲县| 阳新县| 靖边县| 达州市| 塔河县| 台北县| 横峰县| 阳曲县| 仙游县| 库伦旗| 平潭县| 易门县|