basename コマンド

目的

文字列パラメーターの基本ファイル名を戻します。

構文

basename ストリング [ 接尾部 ]

説明

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 コマンドは、指定された入力ファイル名と多少異なる出力ファイル名を指定するためにシェル・スクリプト内で一般的に使われる内部コマンド置換です。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 正常終了。
>0 エラーが発生しました。

  1. シェル変数のベース名を表示するには、次のように入力します。
    basename $WORKFILE
    このコマンドは、シェル変数に割り当てられた値のベース名を表示します。WORKFILE. の値が, システムによって使用されるWORKFILE変数が /home/jim/program.c ファイルの場合、コマンドは次のように表示します。program.c.
  2. 接尾部を除き、別のファイル名と同じファイル名を構成するには、次のように入力します。
    OFILE=`basename $1 .c`.o
    このコマンドは、OFILEfile 最初の定位置パラメーターの値 ($1)、ただし、.c接尾部の変更.o.$1/home/jim/program.c ファイルOFILEは、右記になりますprogram.o. 理由program.o基本ファイル名のみで、現行ディレクトリー内のファイルを識別します。

    注:`(抑音符号) コマンド置換を指定します。

ファイル

項目 説明
/usr/bin/basename basename コマンドが入っています。