溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux dirname命令的用法

發(fā)布時間:2020-06-04 16:06:55 來源:億速云 閱讀:447 作者:Leah 欄目:系統(tǒng)運(yùn)維

這篇文章給大家分享的是linux dirname命令的用法。小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí)。如下資料是關(guān)于linux dirname命令的使用示例。

NAME
dirname - strip last component from file name
示例一 來自手冊頁的例子
$ dirname /usr/bin/sort
/usr/bin
$ dirname stdio.h
.
示例二
$ dirname /usr/bin
/usr
$ dirname /usr/bin/
/usr
腳本中獲取 腳本文件所在的絕對路徑
shellPath=$(cd "$(dirname "$0")"; pwd)
echo $shellPaht

用途說明
dirname命令可以取給定路徑的目錄部分(strip non-directory suffix from file name)。這個命令很少直接在shell命令行中使用,我一般把它用在shell腳本中,用于取得腳本文件所在目錄,然后將當(dāng)前目錄切換過去。根據(jù)手冊頁上說的“Print  NAME  with  its  trailing  /component  removed; if NAME contains no /’s, output ‘.’ (meaning the current directory).”,似乎說“取給定路徑的目錄部分” 并不能很準(zhǔn)確的概括dirname命令的用途。Linux下還有一個命令是basename,它與dirname相反,是取得文件名稱部分。

常用參數(shù)
無。

使用示例
示例一 來自手冊頁的例子
[root@qzt196 ~]# dirname /usr/bin/sort /usr/bin [root@qzt196 ~]# dirname stdio.h . [root@qzt196 ~]#

示例二
[root@qzt196 ~]# dirname /usr/bin /usr [root@qzt196 ~]# dirname /usr/bin/ /usr

注意:此處的輸出結(jié)果,似乎有點(diǎn)怪。這應(yīng)該看下dirname命令的源代碼才能解釋了。

示例三 在bash腳本中的運(yùn)用
Bash代碼  收藏代碼
#!/bin/sh

跳轉(zhuǎn)到腳本所在目錄

cd $(dirname "$0") || exit 1

剩下的部分

這個寫法我經(jīng)常用到,因?yàn)橛袝r候腳本執(zhí)行時無法確定是在哪個目錄,比如腳本用在crontab中時。

另一個寫法是:cd dirname $0 其中反引號··等同于$()。

示例四 與另外一種截取目錄的方法的比較
可以用${pathname%/*}截取掉pathname后面的文件部分。

[root@jfht ~]# pathname=/usr/bin/sort; echo $(dirname $pathname) ${pathname%/} /usr/bin /usr/bin [root@jfht ~]# pathname=/usr/bin/; echo $(dirname $pathname) ${pathname%/} /usr /usr/bin [root@jfht ~]# pathname=/usr/bin; echo $(dirname $pathname) ${pathname%/} /usr /usr [root@jfht ~]# pathname=/usr/; echo $(dirname $pathname) ${pathname%/} / /usr [root@jfht ~]# pathname=/usr; echo $(dirname $pathname) ${pathname%/} / [root@jfht ~]# pathname=/; echo $(dirname $pathname) ${pathname%/} / [root@jfht ~]# pathname=stdio.h; echo $(dirname $pathname) ${pathname%/*} . stdio.h [root@jfht ~]#

關(guān)于dirname命令的用法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI