如果我跑mkdir -pv
,-p
工作,但我没有得到详细的输出; 但是,如果我只运行mkdir -v
,则详细输出会按预期显示.也可能值得注意的是,长形-v
似乎根本不起作用.
从我的测试::
mkdir -p a/b/c
创建a/
,a/b/
和a/b/c/
,没有输出到终端(如预期的那样)
mkdir -v d
:创建d/
和输出mkdir: created directory 'd'
(如预期的那样)
mkdir -pv e/f/g
:create e/
,e/f/
和e/f/g/
,没有给终端输出(为什么?)
mkdir --verbose h
:给出illegal option -- -
错误(为什么?)
更新:我已就此问题向Apple提交了错误报告,并收到以下回复:
他们对"-v不适用"的回答对我来说没有多大意义,因为mkdir -v
工作得很好,但由于有各种变通办法,我甚至不再使用OSX,我认为不值得追求更进一步.
Mac使用基于BSD的代码(大部分)符合POSIX,但(大多数情况下)没有GNU扩展(例如双短划分选项).该手册页呢文档-v
和-p
和-p
工作原理,但似乎确实抑制-v
选项(这可能是当它是最有用的).
您可以选择向Darwin或BSD团队或Apple提交错误.它就是这样儿的; 可以说它不是应该的样子.(GNU mkdir
支持-v
并打印它使用时创建的目录-p
,这更有意义,并支持'这是一个bug'争用.)
感谢SnoringFrog:
另一种选择是mkdir
在OSX上安装和使用GNU 命令.它是GNU的coreutils的一部分,你可以安装它作为解释如何更换用GNU核心工具的Mac OS X实用工具在提出不同的.然后,您可以使用别名mkdir
来指向gmkdir
获得预期的行为(假设您--default-names
在安装GNU工具时不使用).