在 Bash 中,如何创建名为 的目录-p
?
mkdir -p
失败。
mkdir "-p"
失败。
mkdir "\-p"
失败。
mkdir \-p
失败。
答案1
大多数实用程序(除test
和之外的所有 POSIX 兼容实用程序echo
)都支持“选项结束”选项 --
,因此你可以运行:
mkdir -- -p
这在重命名或删除可能以破折号开头的文件时尤其有用。在脚本中,你应该始终使用
mv -- "$filename"
而不是一个简单的mv "$filename"
文件名,或者更糟的是,不带引号的文件名。
答案2
mkdir ./-p
请记住,大多数其他程序也需要使用相同的“技巧”。