MYV*_*MYV 29 linux ubuntu command-line-arguments
我想知道如何制作一个名为标志的文件,例如,如果我想制作一个名为 的文件夹-a,什么命令可以做到这一点?
我试过mkdir '-a', mkdir \-a,但都没有奏效。我在 Ubuntu 上。
slh*_*hck 49
像这样调用命令:
mkdir -- -a
Run Code Online (Sandbox Code Playgroud)
这--意味着选项在那之后结束,因此-a被逐字解释而不是作为mkdir. 您不仅可以在 中找到此语法mkdir,而且可以在除echo和之外的任何符合 POSIX 的实用程序中找到此语法test。从规范:
参数 -- 应该被接受为指示选项结束的分隔符。任何后面的参数都应该被视为操作数,即使它们以“-”字符开头。-- 参数不应用作选项或操作数。
--对于几乎所有处理文件名并希望确保它们不会破坏命令的操作,建议使用作为保护措施,例如,在循环中移动文件时,您可能需要调用以下命令,以便调用的文件-i不是' t (in?) 正确解析为一个选项:
mv -- "$f" new-"$f"
Run Code Online (Sandbox Code Playgroud)
Amo*_*ira 21
应该与任何合理的程序一起工作的最简单的方法是在 前面使用相对路径名-,例如mkdir ./-a将创建一个-a在当前工作目录中调用的目录。
使用此“技巧”的最常见示例是当您想要删除以破折号开头的文件时,您可以执行rm ./-a.