如何删除文件名以破折号(连字符或减号)开头的文件-?我通过 ssh 连接到远程 OSX 服务器,并且我的目录中有这个文件:
tohru:~ $ ls -l
total 8
-rw-r--r-- 1 me staff 1352 Aug 18 14:33 --help
...
Run Code Online (Sandbox Code Playgroud)
我怎么--help能从 CLI 中删除?这个问题是我偶尔以不同形式遇到的问题,这些文件很容易创建,但很难摆脱。
我试过使用反斜杠
rm \-\-help
Run Code Online (Sandbox Code Playgroud)
我试过引号
rm "--help"
Run Code Online (Sandbox Code Playgroud)
如何防止将减号(破折号或连字符)字符解释为选项?
-l我的目录中有文件调用
现在我试着做
for i in *; do stat -c "%s %n" "$i"; done
Run Code Online (Sandbox Code Playgroud)
它列出了所有大小的文件,但在输出中间有类似的东西
395 koko.pub
stat: invalid option -- 'l'
Try 'stat --help' for more information.
2995974 list.txt
Run Code Online (Sandbox Code Playgroud)
所以它不能-l作为正常的文件名处理,我如何从 获得所需的行为stat?
在写问题时:
我试图概括为一个命名文件-存储在变量中的情况。
在 中zsh,我尝试设置一个变量以包含单个连字符:
% var=-
% echo $var
% var='-'
% echo $var
% var=\-
% echo $var
%
Run Code Online (Sandbox Code Playgroud)
为什么这些不起作用?
为什么在这方面zsh有所不同bash?
如何设置$var到-?