带有括号的错误名称的mv命令

时间:2014-05-14 18:46:47

标签: bash shell mv

我正在重命名一批文件并忘记了文件扩展名。尝试使用以下命令将其添加回来,文件消失了。

for i in S02*; do mv "$i" "$(i).mkv";done

Bash给出了错误:“我找不到命令”。猜猜我不应该包括括号。知道我现在可以在哪里找到我的文件吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您的文件已经消失,除非进行备份,否则可能无法恢复。你应该使用大括号{}而不是parens ()

for i in S02*; do mv "$i" "${i}.mkv";done

$()用于命令替换。由于i不是命令,因此您获得的错误是正确的。但是,该命令没有被替换,因此所有文件都被破坏了。