参数扩展和文件名
你可以使用 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