mkdir -pv 不详细
mkdir -pv not verbose
如果我 运行 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 -- -
错误(为什么?)
更新:我就此问题向 Apple 提交了错误报告,并收到了以下回复:
他们的回答“-v 不适用”对我来说没有多大意义,因为 mkdir -v
工作得很好,但因为有各种解决方法,我什至不再使用 OSX, 我觉得不值得再追下去了。
Mac 使用基于 BSD 的代码,这些代码(大部分)POSIX 兼容但(大部分)没有 GNU 扩展(例如双破折号长选项)。手册页确实记录了 -v
和 -p
,并且 -p
有效但似乎抑制了 -v
选项(这可能是最有用的时候)。
您的一个选择是向 Darwin 或 BSD 团队或 Apple 提交错误。它就是这样儿的;可以说这不是应该的方式。 (GNU mkdir
支持 -v
并在与 -p
一起使用时打印它创建的目录,这更有意义,并且支持 'it is a bug' 争论。)
感谢SnoringFrog:
另一种选择是在 OSX 上安装和使用 GNU mkdir
命令。它是 GNU coreutils 的一部分,您可以按照 How to replace Mac OS X utilities with GNU core utilities at Ask Different 中的说明安装它。然后,您可以别名 mkdir
指向 gmkdir
以获得预期的行为(假设您在安装 GNU 工具时不使用 --default-names
)。
如果日志记录很重要,您也可以这样做(因为 -v
标志在简单情况下有效):
mkdir -v path &&
mkdir -v path/to &&
mkdir -v path/to/{destination1,destination2,etc} ;
不同的想法 或再想想?!
如果我 运行 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 -- -
错误(为什么?)
更新:我就此问题向 Apple 提交了错误报告,并收到了以下回复:
他们的回答“-v 不适用”对我来说没有多大意义,因为 mkdir -v
工作得很好,但因为有各种解决方法,我什至不再使用 OSX, 我觉得不值得再追下去了。
Mac 使用基于 BSD 的代码,这些代码(大部分)POSIX 兼容但(大部分)没有 GNU 扩展(例如双破折号长选项)。手册页确实记录了 -v
和 -p
,并且 -p
有效但似乎抑制了 -v
选项(这可能是最有用的时候)。
您的一个选择是向 Darwin 或 BSD 团队或 Apple 提交错误。它就是这样儿的;可以说这不是应该的方式。 (GNU mkdir
支持 -v
并在与 -p
一起使用时打印它创建的目录,这更有意义,并且支持 'it is a bug' 争论。)
感谢SnoringFrog:
另一种选择是在 OSX 上安装和使用 GNU mkdir
命令。它是 GNU coreutils 的一部分,您可以按照 How to replace Mac OS X utilities with GNU core utilities at Ask Different 中的说明安装它。然后,您可以别名 mkdir
指向 gmkdir
以获得预期的行为(假设您在安装 GNU 工具时不使用 --default-names
)。
如果日志记录很重要,您也可以这样做(因为 -v
标志在简单情况下有效):
mkdir -v path &&
mkdir -v path/to &&
mkdir -v path/to/{destination1,destination2,etc} ;
不同的想法 或再想想?!