我实现了以下命令来创建一个名为 *
(星号)的文件:
echo > '*'
现在我应该删除这个文件而不使用任何引号。
我知道如何通过使用引号来删除它,但不确定如何在不使用引号的情况下删除它。
我尝试了以下命令,但由于命令行扩展,我确信它们不会工作:
rm ./*
rm /*
如果有人能帮助我解决这个问题,我将不胜感激。
最佳答案
我认为你应该自己解决这个问题:-)
不涉及引用的最简单解决方案是使用模式[*]
。 shell 中的括号表达式的工作方式与正则表达式中的字符类非常相似,因此将匹配名称为单个字符 *
的文件。因此,您可以使用
rm [*]
请注意,您不能使用该模式创建名为*
的文件,因为 shell 将包含模式的单词替换为与该模式匹配的文件名;如果不存在这样的文件,则模式不匹配并且不执行替换。因此,如果没有名为 *
的文件,则 touch [*]
将创建一个名为 [*]
的文件。
关于linux - 如何在不使用引号的情况下删除名为 *(星号)的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56214656/