Bash 参数扩展和文件名

示例

您可以使用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