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