为什么我的文件夹名称中包含逗号?

为什么我的文件夹名称中包含逗号?

我正在按照本教程操作,它说要创建如下文件夹:

mkdir -p /home/demo/public_html/domain2.com/{public,private,log,backup}

当我执行此操作时,我得到的文件夹名称末尾带有 } 和 ,。

这个 mkdir 在 ubuntu 上不起作用吗?

我以为它会创建花括号内的文件夹......

答案1

我认为内联扩展语法特定于 Bourne shell 及其后代(sh、bash、ksh、zsh)。您的教程似乎希望您运行 bash,但您却运行了其他程序(csh、tcsh?)

答案2

您的 shell 中有些东西无法正常工作。您使用的是 bash 吗?您的命令应一次创建所有带括号的文件夹,而不创建带括号的文件夹。请尝试逐个创建它们

mkdir /home/demo/public_html/domain2.com/public

mkdir /home/demo/public_html/domain2.com/private

mkdir /home/demo/public_html/domain2.com/log

mkdir /home/demo/public_html/domain2.com/backup

答案3

这对我而言在 CentOS 5.5 上和 bash 3.2.25 以及 GNU mkdir 5.97 上是有效的。

评论者是正确的,因为 bash 会将参数单独传递给 mkdir(假设您正在运行标准 bash shell 并且您正确指定了参数。)

尽管如此,我仍然认为值得一提的是,如果您的系统中有一些命令无法按预期工作,那么检查您是否正在运行该命令的“正常”版本程序是值得的。我见过系统设置了某些命令的非标准变体,因为 SA 不喜欢标准版本或不希望其用户访问标准版本的某些功能。

相关内容