系統大全為您提供這篇文章主要介紹了Linux系統中獲取路徑的文件名的方法,文中總結出了兩條,需要的朋友可以參考下代碼如下:[root@dabu.info?]#basename?/root/aaab/dabu.txt顯示:代碼如下:dabu.txt?#獲取路徑的文件名shell腳本中如何獲得腳本文件所在路徑?方法一:代碼如下:[root@dabu.info?]#DIR=$(cd?"$(dirname?"$0")";?pwd)[root@dabu.info?]#echo?$DIR但是像這種dirname?"$0"這種寫法,在遇到source命令時會得到錯誤的結果。方法二:代碼如下:[root@dabu.info?]#echo?"$(?cd?"$(?dirname?"${BASH_SOURCE[0]}"?)"?&&?pwd?)"上面一行命令可以獲得腳本的絕對輪徑,無論你在何處調用這個腳本。但是如果含有軟鏈接,就無法使用了。所以,我們為了能正確解析指向腳本的軟鏈接,可以使用下面的多行命令:代碼如下:SOURCE="${BASH_SOURCE[0]}"while?[?-h?"$SOURCE"?];?do?#?resolve?$SOURCE?until?the?file?is?no?longer?a?symlinkDIR="$(?cd?-P?"$(?dirname?"$SOURCE"?)"?&&?pwd?)"SOURCE="$(readlink?"$SOURCE")"[[?$SOURCE?!=?/*?]]?&&?SOURCE="$DIR/$SOURCE"?#?if?$SOURCE?was?a?relative?symlink,?we?need?to?resolve?it?relative?to?the?path?where?the?symlink?file?was?locateddoneDIR="$(?cd?-P?"$(?dirname?"$SOURCE"?)"?&&?pwd?)"也可與source,bash?-c命令使用但是,如果你在腳本中使用先cd切換到其他目錄,在運行時上面的命令片段時,則上面的命令不能等到正確的結果。可以參考關于$Cdpath?陷阱的文章。想理解它如何其作用的,可以運行下面的代碼:代碼如下:#!/bin/bashSOURCE="${BASH_SOURCE[0]}"while?[?-h?"$SOURCE"?];?do?#?resolve?$SOURCE?until?the?file?is?no?longer?a?symlinkTARGET="$(readlink?"$SOURCE")"if?[[?$SOURCE?==?/*?]];?thenecho?"SOURCE?'$SOURCE'?is?an?absolute?symlink?to?'$TARGET'"SOURCE="$TARGET"elseDIR="$(?dirname?"$SOURCE"?)"echo?"SOURCE?'$SOURCE'?is?a?relative?symlink?to?'$TARGET'?(relative?to?'$DIR')"SOURCE="$DIR/$TARGET"?#?if?$SOURCE?was?a?relative?symlink,?we?need?to?resolve?it?relative?to?the?path?where?the?symlink?file?was?locatedfidoneecho?"SOURCE?is?'$SOURCE'"RDIR="$(?dirname?"$SOURCE"?)"DIR="$(?cd?-P?"$(?dirname?"$SOURCE"?)"?&&?pwd?)"if?[?"$DIR"?!=?"$RDIR"?];?thenecho?"DIR?'$RDIR'?resolves?to?'$DIR'"fiecho?"DIR?is?'$DIR'"??以上就是系統大全給大家介紹的如何使的方法都有一定的了解了吧,好了,如果大家還想了解更多的資訊,那就趕緊點擊系統大全官網吧。??本文來自系統大全http:///如需轉載請注明!