basename从文件名中去掉目录和后缀,用法:
basename NAME [SUFFIX]
可见,后缀 SUFFIX 是可选参数:
如果没有 SUFFIX,basename 将去掉 NAME 参数中的目录;
$ basename ../get_from_db/get_user_qun/getUserinfo.sh
getUserinfo.sh
如果有 SUFFIX,除了去掉 NAME 参数中的目录,还会去掉 SUFFIX(如果与 NAME 的后缀匹配的话);
后缀不一定是.即后面的部分,如:
# 后缀匹配的情况
$ basename ../get_from_db/get_user_qun/getUserinfo.sh .sh
getUserinfo
# 后缀匹配的情况
$ basename ../get_from_db/get_user_qun/getUserinfo.sh h
getUserinfo.s
# 后缀匹配的情况
$ basename ../get_from_db/get_user_qun/getUserinfo.sh o.sh
getUserinf
# 后缀不匹配的情况
$ basename ../get_from_db/get_user_qun/getUserinfo.sh get
getUserinfo.sh
其实参数 NAME 不一定是一个真实存在的文件名:
$ basename this_file_not_exist
this_file_not_exist
$ basename this_file_not_exist st
this_file_not_exi
我对 basename 的使用场景,主要是在 shell 脚本中获取一个文件路径的纯文件部分,即basename NAME的作用,少数情况下会用到basename NAME SUFFIX。
另外,建议大家回帖时首先参与接龙活动,然后可以提问,发表其他评论等。
每一条回帖应当首先是一条接龙内容,其次才是其他内容。