如果我运行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
:创建e/
、e/f/
和e/f/g/
,没有为终端提供输出(为什么?)
mkdir --verbose h
:给出一个illegal option -- -
错误(为什么?)
Update:我向苹果提交了关于此问题的错误报告,并收到以下答复:
他们的回答"-v不适用“对我来说没有多大意义,因为mkdir -v
工作得很好,但是由于有各种各样的解决办法,而且我甚至不再使用OSX,我认为这对我来说是不值得的。
发布于 2015-02-04 19:14:30
Mac使用基于BSD的代码,即(大部分)符合POSIX,但(大部分)没有GNU扩展(例如双破折号长选项)。手册页确实记录了-v
和-p
,-p
也可以工作,但它似乎抑制了-v
选项(这可能是它最有用的时候)。
您的选择之一是向达尔文或BSD团队或苹果公司提交一个bug。这就是它的现状,可以说,它并不是它应该的样子。(GNU mkdir
支持-v
,并在与-p
一起使用时打印它创建的目录,这更有意义,并且支持‘这是一个bug’争用。)
感谢https://stackoverflow.com/users/919057/snoringfrog
另一种选择是在OSX上安装和使用GNU mkdir
命令。它是GNU的一部分,您可以按照How to replace Mac OS X utilities with GNU core utilities at Ask Different中的解释来安装它。然后,您可以将mkdir
化名为指向gmkdir
以获得预期的行为(假设在安装GNU时不使用--default-names
)。
发布于 2019-07-15 14:53:12
如果日志记录非常重要,也可以这样做(因为-v
标志在简单的情况下有效):
mkdir -v path &&
mkdir -v path/to &&
mkdir -v path/to/{destination1,destination2,etc} ;
认为不同的或再思考?!
https://stackoverflow.com/questions/28329344
复制相似问题