Dee*_*mar 1 command-line bash zsh
我正在尝试使用命令行(zsh shell)将名为“-a”的文件重命名为“a”。我尝试过以下方法
mv \-a "a"
mv '\-a' "a"
mv "\-a" "a"
Run Code Online (Sandbox Code Playgroud)
但得到了
mv: illegal option -- a
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
Run Code Online (Sandbox Code Playgroud)
每一次。有没有办法在 shell 中转义“-a”或任何其他命令选项?
当您需要指定以破折号开头的文件名作为命令的参数时(这可能会将其解释为选项),您可以改为写入该文件的绝对或显式相对路径:
mv /path/to/-a a
mv ./-a a
Run Code Online (Sandbox Code Playgroud)
或者,某些(不是全部)命令支持--
作为选项和位置参数之间的分隔符。这取决于您使用的具体命令。
mv -- -a a
Run Code Online (Sandbox Code Playgroud)