您可以使用Bash参数扩展来模拟常用的文件名处理操作,例如basename和dirname。
我们将使用它作为示例路径:
FILENAME="/tmp/example/myfile.txt"
模拟dirname并返回文件路径的目录名称:
echo "${FILENAME%/*}" #Out: /tmp/example
要模拟basename $FILENAME并返回文件路径的文件名:
echo "${FILENAME##*/}" #Out: myfile.txt
要模拟basename $FILENAME .txt并返回不带.txt.扩展名的文件名:
BASENAME="${FILENAME##*/}" echo "${BASENAME%%.txt}" #Out: myfile