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

Linux?Shell腳本如何獲取當前路徑

 更新時間:2025年11月14日 09:14:47   作者:70年代的生猛海鮮  
本文介紹了在腳本中獲取當前運行目錄的方法,通過使用`dirname?$0`、`cd?$(dirname?$0)`和`pwd`命令,可以方便地獲取腳本的絕對路徑,文中還提供了一個測試示例,驗證了該方法的有效性,此外,作者還提到直接使用`pwd`命令也是一種簡單有效的獲取當前目錄的方法

1、使用場景

我們的腳本經常被放置到不同層次的目錄之中,有人喜歡放到/opt, 有人喜歡放到/home/myname,這是不可控的。

自動化部署工作中,經常要移動、拷貝文件,而獲取當前腳本運行目錄,才能方便的操控相對路徑內的文件。

本文就給出一種在腳本中獲知當前程序運行目錄的辦法。

2、原理

用到的函數:

  • dirname $0:獲取當前腳本所在的絕對目錄
  • cd $(dirname $0):進入這個目錄
  • pwd:顯示切換后腳本所在工作目錄

結合起來,在腳本中使用下面的語句,就可以得到腳本的絕對路徑。

script_dir=$(cd $(dirname $0);pwd)

3、測試

3.1、測試原理

建立一個多重目錄,在里面新建腳本文件test_path.sh,腳本中使用上面的思路打印出路徑信息,期待運行該腳本,能顯示出腳本所放置的絕對路徑。

[root@others ~]# mkdir -p /tmp/1//2/3/4/5
[root@others ~]# cd /tmp/1/2/3/4/5
[root@others 5]# pwd
/tmp/1/2/3/4/5

[root@others 5]# vim test_path.sh
#!/bin/bash
CUR_PATH=$(cd $(dirname $0) ; pwd)
echo ${CUR_PATH}

3.2、測試結果

test_path.sh運行效果如下,正確打印出腳本所在的絕對路徑,達到預期。

[root@others 5]# sh test_path.sh 
/tmp/1/2/3/4/5

4、其它

以上方法和實現是我在網上找到的,其實我最直觀的感覺,直接在腳本中用pwd也行,簡單測試下,也是沒有問題的。

如下:

腳本文件1.sh的內容如下:

#!/bin/bash
CUR_PATH=$(pwd)
echo $CUR_PATH

測試結果達到預期,如下:

[root@others 5]# vim 1.sh
[root@others 5]# sh 1.sh
/tmp/1/2/3/4/5

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

军事| 阳泉市| 佳木斯市| 深水埗区| 桑植县| 大名县| 济阳县| 朔州市| 静海县| 开远市| 呼图壁县| 沈丘县| 芜湖市| 深州市| 云林县| 天等县| 东台市| 大邑县| 盐津县| 收藏| 仙桃市| 岫岩| 句容市| 政和县| 太湖县| 横峰县| 贵港市| 汉阴县| 峡江县| 东乌珠穆沁旗| 台中市| 襄樊市| 秭归县| 鄂尔多斯市| 霞浦县| 苍溪县| 大宁县| 无锡市| 辽中县| 金乡县| 太仓市|