basename命令參考詳解
描述:basename 命令讀取 String 參數(shù),刪除以 /(斜杠) 結(jié)尾的前綴以及任何指定的 Suffix 參數(shù),并將剩余的基本文件名稱寫(xiě)至標(biāo)準(zhǔn)輸出。basename 命令應(yīng)用以下創(chuàng)建基本文件名稱的規(guī)則:
basename 命令
用途
返回一個(gè)字符串參數(shù)的基本文件名稱。
語(yǔ)法
basename String [ Suffix ]
如果 String 參數(shù)是 //(雙斜杠) 或如果 String 參數(shù)包含的都是斜杠字符,則將字符串更改為單個(gè) /(斜杠)。跳過(guò)步驟 2 到 4。
從指定字符串除去任何拖尾的 / 字符。
如果在 String 參數(shù)中剩余任何 / 字符,則除去字符串的前綴直到(包含)最后一個(gè) / 字符。
如果指定 Suffix 參數(shù),且它和字符串中的剩余的字符相同,則不修改此字符串。例如,輸入:
K > basename /u/dee/desktop/cns.boo cns.boo結(jié)果是:
cns.boo如果指定 Suffix 參數(shù),且它和字符串中所有字符都不相同,但和字符串的后綴相同,則除去指定后綴。例如,輸入:
K > basename /u/dee/desktop/cns.boo .boo結(jié)果是:
cns不能在字符串中查找到指定的后綴不作為錯(cuò)誤處理。
basename 和 dirname 命令通常用于 shell 腳本中的命令替換來(lái)指定和指定的輸入文件名稱有所差異的輸出文件名稱。
退出狀態(tài)
該命令返回以下退出值:
0 成功完成。
>0 發(fā)生錯(cuò)誤。
示例
要顯示一個(gè) shell 變量的基本名稱,請(qǐng)輸入:
basename $WORKFILE此命令顯示指定給 shell 變量 WORKFILE 的值的基本名稱。如果 WORKFILE 變量的值是 /home/jim/program.c 文件,則此命令顯示 program.c。
要構(gòu)造一個(gè)和另一個(gè)文件名稱相同(除了后綴)的文件名稱,請(qǐng)輸入:
OFILE=`basename $1 .c`.o此命令指定給 OFILE 文件第一個(gè)位置上的參數(shù)($1)的值,但它的 .c 后綴更改至 .o。如果 $1 是 /home/jim/program.c 文件,則 OFILE 成為 program.o。因?yàn)?program.o 僅是一個(gè)基本文件名稱,它標(biāo)識(shí)在當(dāng)前目錄中的文件。
注:`(重音符號(hào))指定命令替換。
文件
/usr/bin/basename 包含 basename 命令。
【編輯推薦】