basename - パス名のディレクトリー以外の部分を戻す

構文

basename string [suffix]

説明

basename を使うと、string 内の最後のスラッシュで終わるプレフィックス、および suffix (指定した場合) を削除することができます。 結果のファイル名は標準出力に書き込まれます。 string の処理には、次の規則が使用されます。

  • string 全体がスラッシュ文字から成る場合は、単一のスラッシュ文字が標準出力に書き込まれ、処理が終了します。
  • string 内に後書きスラッシュ文字がある場合、そのスラッシュは削除されます。
  • string 内に残っているスラッシュ文字がある場合は、最後のスラッシュ文字 (最後のスラッシュを含む) までの string のプレフィックスが削除されます。
  • suffix が指定されていて、string 内の残りの文字には一致せず、string 内の残りの文字のサフィックスに一致する場合は、そのサフィックスが削除されます。 その他の場合は、string は変更されません。 string 内で suffix が検出されないのは、エラーではありません。

終了状況

  • 0 正常終了。
  • >0 エラー発生。
  1. シェル変数 FOO を "trail" に設定する場合 :
    FOO=$(basename /usr/bin/trail)
  2. パス "/usr/bin/this_test" の最後の部分、"test" サフィックスを削除して戻す場合 :
    basename /usr/bin/this_test test