Linux命令之basename 命令

來源:互聯網
上載者:User
本文轉載於:http://monkeymusic.blog.163.com/blog/static/4797639200912533652666/
用途

返回一個字串參數的基本檔案名稱。

文法

basename String [ Suffix ]

描述

basename 命令讀取 String 參數,刪除以 /(斜杠) 結尾的首碼以及任何指定的 Suffix 參數,並將剩餘的基本檔案名稱寫至標準輸出。basename 命令應用以下建立基本檔案名稱的規則:

  1. 如果 String 參數是 //(雙斜杠) 或如果 String 參數包含的都是斜杠字元,則將字串更改為單個 /(斜杠)。跳過步驟 2 到 4。
  2. 從指定字串除去任何拖尾的 / 字元。
  3. 如果在 String 參數中剩餘任何 / 字元,則除去字串的首碼直到(包含)最後一個 / 字元。
  4. 如果指定 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  發生錯誤

樣本

  1. 要顯示一個 shell 變數的基本名稱,請輸入:
basename $WORKFILE

此命令顯示指定給 shell 變數 WORKFILE 的值的基本名稱。如果 WORKFILE 變數的值是 /home/jim/program.c 檔案,則此命令顯示 program.c。

  1. 要構造一個和另一個檔案名稱相同(除了尾碼)的檔案名稱,請輸入:
OFILE=`basename $1 .c`.o

此命令指定給 OFILE 檔案第一個位置上的參數($1)的值,但它的 .c 尾碼更改至 .o。如果 $1 是 /home/jim/program.c 檔案,則 OFILE 成為 program.o。因為 program.o 僅是一個基本檔案名稱,它標識在目前的目錄中的檔案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.