A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash: basename: command not found #Debian apt-get install coreutils #Ubuntu apt-get install coreutils #Alpine apk add coreutils #Arch Linux pacman -S coreutils #Kali Linux apt-get install coreutils #CentOS yum install coreutils #Fedora dnf install coreutils #OS X brew install coreutils #Raspbian apt-get install coreutils #Docker docker run cmd.cat/basename basename
basename 命令用于打印目录或者文件的基本名称。basename 和 dirname 命令通常用于 Shell 脚本中的命令替换来指定和指定的输入文件名称有所差异的输出文件名称。
basename NAME [SUFFIX] basename OPTION... NAME...
-a, --multiple 支持多个参数,并将每个参数都视为一个NAME。 -s, --suffix=SUFFIX 删除后缀SUFFIX,例如文件扩展名。 -z, --zero 使用NUL而不是换行符来分隔输出。 --help:显示帮助; --version:显示版本号。
文件:带路径信息的文件; 后缀:可选参数,指定要去除的文件后缀字符串。
$ basename /usr/bin/sort sort $ basename include/stdio.h .h stdio $ basename -a any/str1 any/str2 str1 str2
要显示一个 Shell
变量的基本名称,请输入:
basename $WORKFILE
此命令显示指定给 Shell
变量 WORKFILE
的值的基本名称。如果 WORKFILE
变量的值是 /home/jim/program.c
文件,则此命令显示 program.c
。
要构造一个和另一个文件名称相同(除了后缀)的文件名称,请输入:
OFILE=`basename $1 .c`.o
此命令指定给 OFILE 文件第一个位置上的参数($1)的值,但它的 .c 后缀更改至 .o。如果 $1 是 /home/jim/program.c 文件,则 OFILE 成为 program.o。因为 program.o 仅是一个基本文件名称,它标识在当前目录中的文件。