别名mkdir在Mac上打印详细输出

时间:2016-04-14 06:53:08

标签: linux bash shell

$ type mkdir
$ mkdir is aliased to `command mkdir -p -v'
$ mkdir folder
$ mkdir folder
$ mkdir folder
$ unalias mkdir
$ type mkdir
mkdir is hashed (/bin/mkdir)
$ mkdir folder
mkdir: folder: File exists

为什么别名版本不打印详细输出?

1 个答案:

答案 0 :(得分:1)

如果要查看已创建文件夹的消息,则需要删除别名中的-p选项。请尝试以下

mkdir folder
alias mkdir="mkdir -v"
mkdir folder

您将看到错误消息。如果你使用这个

mkdir folder
alias mkdir="mkdir -p -v"
mkdir folder

你不会看到它,因为这是-p选项的工作方式。

为什么它会像这样工作?如果我们假设-p在遇到已经创建的文件夹时实际上发出了错误,那么它对创建它们的深层嵌套文件夹有什么作用,然后重新使用它刚创建的相同文件夹来创建下一个文件夹,它应该抛出一个错误。如果它这样做会在脚本中产生很多错误。

如果你必须听到并想到...... but why can't it just throw the error on the last directory ie if it sees that the one it's about to create exists, not the ones prior ...请仔细思考:)