我在 zsh 脚本中遇到基本名称问题。想象一下 $directory 包含一个带有前导破折号的文件名,在我的例子中它是“-Fast-”。然后脚本执行
folder=$(basename "$directory")
或者如果我尝试其他语法
folder=`basename "$directory"`
这都会导致相同的错误:
基本名称:非法选项 -- F 用法:基本名称字符串[后缀] 基本名称 [-a] [-s 后缀] 字符串 [...]
除了不使用带有前导破折号的文件(这可能很难向普通用户解释)之外,我还能做什么? 谢谢!
最佳答案
如何完全避免 basename
并只执行一个
folder=$directory:t
顺便说一句,如果您想要与dirname
(即目录部分)等效的内容,那么它将是$directory:h
。
关于zsh - 带有前导 -(破折号)的文件的基本名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63694964/