basename

Linuxコマンドbasename

処理

 状態:-  閲覧数:761  投稿日:2017-02-21  更新日:2017-04-13
A.「第1引数で指定した文字列」に「/」が含まれている場合
・1.「第1引数で指定した文字列」の最後の「 /」以降を返す
・2.「第2引数で文字列を指定」している場合は、「第1引数指定文字列」の最後の「 /」以降より「第2引数指定文字列」を削除した結果を返す

B.「第1引数で指定した文字列」に「/」が含まれていない場合
・1.「第1引数で指定した文字列」を返す
・2.「第2引数で文字列を指定」している場合は、「第1引数指定文字列」より「第2引数指定文字列」を削除した結果を返す


構文


basename 文字列 [文字列]

オプション
第1引数 対象となるパス名を指定する
第2引数 末尾で取り除く文字列を指定



大前提 / 勘違いしがちな点

 閲覧数:236 投稿日:2017-03-10 更新日:2017-03-22 

「ディレクトリ」「ファイル」は本質的に無関係


brownディレクトリ
・存在しない

artist.funkファイル
・存在しない

funk拡張子
・存在しない

実行例
$ basename brown/artist.funk .funk
artist



誤りではないが、完全同一ではない表現


「ファイル名」から「ディレクトリ」や「末尾の文字列」を削除したものを返す
suffixに文字列を指定した場合,ファイル名末尾に同様のものがあると「suffixと同じ文字列」を取り除く
・「ファイル名」とは限らない
・文字列が「ファイル名」の場合は期待した動作を行うが、たまたま文字列が「ファイル名」だっただけ
・「ファイル名」の存在確認は一切行わない
※「ディレクトリ」についても同様

文字列だけを指定した場合はディレクトリを取り除いたものを戻り値として返す
・「ディレクトリ」とは限らない
・文字列が「ディレクトリ名」の場合は期待した動作を行うが、たまたま文字列が「ディレクトリ名」だっただけ
・「ディレクトリ」の存在確認は一切行わない

使用例

 閲覧数:227 投稿日:2017-03-10 更新日:2017-04-13 

ディレクトリ除外


「ファイル名」だけ取り出す
$ basename /home/hoge/public.shtml/index.shtml
index.shtml

# basename /root/temp
temp



ディレクトリと拡張子を除外


$ basename /home/hoge/public.shtml/index.shtml .shtml
index


$ basename /home/karuma/script.sh .sh
script



拡張子を除外


.shを取り除く
$ basename script.sh .sh
script



何も除外しない


取り除くものがない
$ basename script.sh
script.sh




Twitter検索結果。「basename」に関する最新ツイート

Linuxコマンドbot @linux_cmd_bot



類似度ページランキング
順位 ページタイトル抜粋
1 man 55
2 make 50
3 bash 50
4 paste 46
5 umask 46
6 yum update bash 43
7 Permissions 42
8 Indexed Database 42
9 Systemd 40
10 CasperJS 38
11 sed 36
12 npm 36
13 PhantomJS 35
14 Session Storage 35
15 head 33
16 less 33
17 more 33
18 PHPのmb_send_mail関数でメール送信できない 33
19 WebStorage 33
20 bash アップデート 32
2022/10/05 21:13 更新
週間人気ページランキング / 9-28 → 10-4
順位 ページタイトル抜粋 アクセス数
0 さくらVPS0 18
0 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 18
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 17
2 phpの設定ファイルをphp.ini から分離させても良いの? 12
3 Nginx設定。エラーログレベル | Nginx(Webサーバ) 11
4 「RLogin」で文字化けするようになった場合は、オプション設定 - フォント - 文字セット -「UTF-8」を選択します。  | RLogin(ターミナルエミュレータ) 9
4 ImageMagick と imagick の違い | ImageMagick(ソフトウェアスイート) 9
5 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 8
5 ABRT により 問題が検出されました | CentOS 7 (CentOS) 8
5 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 8
6 echo と cat の違い 7
6 Bearerとは? / Bearer Token とは? / 基本的な使い方 7
6 Postfix | メール処理システム 7
6 ImageMagick 6.7.2.7-2.el6 を yum アンインストール / ImageMagick 6.8.8-9 を make アンインストール | ImageMagick(ソフトウェアスイート) 7
7 PHP実行ユーザ設定 / CentOS7 / Nginx | PHP(プログラミング言語) 6
7 Sandboxモードを使うことができるsaharaプラグインを使ってみる 6
7 バーチャルホスト設定には細心の注意を! | バーチャルホスト(Apache) 6
7 grep -rl 置換前文字列 . | xargs sed -i 's/置換前文字列/置換後文字列/g' 6
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 6
7 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 6
2022/10/5 1:01 更新