1

我想知道如何处理名称为标志的文件,如“-a”、“-f”等。我不能将它们作为参数传递给rm或之类的程序ls,因为它们被解释为标志,并且正在执行rm *ls *只是运行那些带有文件名标志的程序(出于显而易见的原因)。如何在程序参数中将标志作为普通文件名传递?

4

1 回答 1

8

一个常见的技巧是使用前缀./

edd@max:/tmp$ touch ./-a ./-b ./-c
edd@max:/tmp$ ls -l ./-*
-rw-rw-r-- 1 edd edd 0 May 22 21:07 ./-a
-rw-rw-r-- 1 edd edd 0 May 22 21:07 ./-b
-rw-rw-r-- 1 edd edd 0 May 22 21:07 ./-c
edd@max:/tmp$ rm ./-*
edd@max:/tmp$ ls -l ./-*
ls: cannot access ./-*: No such file or directory
edd@max:/tmp$ 
于 2013-05-23T02:08:31.867 回答