尝试 mv 文件名中包含 -r 的文件时出错

Bus*_*ere 8 bash

这是我的问题:

我有一个名称中带有 -r 的文件:-r.jpg

当我尝试做时,mv *.jpg old/我得到:

mv: invalid option -- 'r'
Run Code Online (Sandbox Code Playgroud)

即使是

for g in *.jpg;do echo $g &&mv "${g}" old/;done
Run Code Online (Sandbox Code Playgroud)

我有同样的错误。

小智 16

大多数命令行实用程序都提供将选项参数分开的功能。

这可以防止出现许多看起来像选项的“特殊”文件名的问题。

最常见的分隔符指示选项的结尾是两个连字符----也支持mv

换句话说:

 mv [OPTIONS] -- SOURCE DEST
Run Code Online (Sandbox Code Playgroud)

或者因为您没有指定任何选项:

 mv -- *.jpg old/
Run Code Online (Sandbox Code Playgroud)