<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在shell指令碼中經常會看到$(cd $(dirname $0); pwd)、basename等操作,本文就來記錄一下 dirname、basename、pwd 的用法及組合使用。
pwd: pwd [-LP]
Print the name of the current working directory.
Options:
-L print the value of $PWD if it names the current working directory
-P print the physical directory, without any symbolic links
列印出當前工作路徑,注意是 ”工作路徑“,及指令碼在哪個路徑執行,該路徑就是該指令碼的工作路徑,如圖:
列印出環境變數 $PWD 的值,如果 PWD 賦值為當前工作路徑,pwd 預設同 pwd -L
列印真實路徑,不列印連結的路徑,區別如圖:
Examples:
basename /usr/bin/sort -> “sort”
basename include/stdio.h .h -> “stdio”
basename -s .h include/stdio.h -> “stdio”
basename -a any/str1 any/str2 -> “str1” followed by “str2”
列印除上層路徑外的基礎檔名;當檔名後存在字尾時,除去後面的字尾,如 # basename include/stdio.h .h 只會列印出 stdio
-s引數後面指定要去除的字尾字元,即:# basename -s .h include/stdio.h 同 # basename include/stdio.h .h 一樣只會列印出 stdio
-a引數可追加執行多個檔案路徑,取每一個路徑的基礎檔名並列印。用法如下圖:
Examples:
dirname /usr/bin/ -> “/usr”
dirname dir1/str dir2/str -> “dir1” followed by “dir2”
dirname stdio.h -> “.”
去除檔名中的非目錄部分,刪除最後一個“”後面的路徑,顯示父目錄
輸出結果不換行
如圖所示:
組合使用 引數 $0:
在shell中,$0 指定為命令列引數的第0個引數,即當前指令碼的檔名,$1 $2 指傳入指令碼的第 1 第 2 個引數
dirname 和 $0:
經常看到 $(dirname $0),那麼這個變數存放什麼,即:當前指令碼檔案的父目錄,注意 $0 為指令碼執行時傳入的指令碼路徑名,如下:
一般在shell中執行檔案都用絕對路徑,但如果使用相對路徑的情況,必須保證相對當前工作路徑下的目標路徑存在該檔案,不然會列印 bash: …/shell/demo.sh: No such file or directory。也就是如果你指令碼路徑傳錯了,dirname自然就不能獲取到有效的父目錄!
dirname、$0 和 pwd:
通常我們需要把當前指令碼的路徑作為工作路徑來執行某些相對路徑檔案,這時就需要獲取當前被執行指令碼的父目錄的絕對路徑了,而變數 $(cd $(dirname $0); pwd) 就是用來儲存當前指令碼的父目錄的絕對路徑的,如下圖:
可檢視執行 # $(cd $(dirname $0); pwd) 獲取當前指令碼父目錄的絕對路徑的過程如下:
+++ dirname shell/demo.sh ++ cd shell ++ pwd + echo /home/shell /home/shell
dirname $0 pwd 這幾個組合的操作在shell程式設計中非常常用,到此這篇關於Shell獲取路徑操作(dirname $0 pwd)的實現的文章就介紹到這了,更多相關Shell獲取路徑操作內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45