将选项语法字符串作为文件名传递

将选项语法字符串作为文件名传递

我不知怎么在目录中得到了一个名为 --no-recursion 的文件。我怎样才能cat显示它包含的内容?不是这样,因为参数被解释为一个选项:

root@nagini [/home/lalilulelo]# cat --no-recursion 
cat: unrecognized option `--no-recursion'
Try `cat --help' for more information.
root@nagini [/home/lalilulelo]# cat \--no-recursion 
cat: unrecognized option `--no-recursion'
Try `cat --help' for more information.
root@nagini [/home/lalilulelo]# cat \\--no-recursion 
cat: \--no-recursion: No such file or directory

答案1

发生的事情是cat将其--no-recursion视为其选项。您可以执行以下任一操作:

cat ./--no-recursion

或者

cat -- --no-recursion

可以执行相同的操作来rm删除此文件(因为它可能是某种错误)。

在我的第一个例子中,我将当前目录路径(“./”)添加到文件名前面,因此它不以选项前缀开头;在我的第二个例子中,我添加了一个特殊选项--,这意味着“停止将其后的任何内容视为选项”。

相关内容