【发布时间】:2017-02-13 04:54:23
【问题描述】:
我正在尝试使用变量来重命名文件。但是,当我将变量插入文件名的开头时,事情并没有按预期工作。
这样的话,我有一个文件名测试:
$ ls
test
和一个变量
i=1
将变量添加到文件名的末尾或中间时,它可以工作:
$ mv test test_$i
$ ls
test_1
将变量添加到文件名开头时,它不起作用:
$mv test_1 test
$mv test $i_test
mv: missing destination file operand after 'test'
Try 'mv --help' for more information.
更糟糕的是,当我的文件名中有扩展名时,该文件将被删除。
$ touch test.try
$ ls
test.try
$ mv test.try $i_test.try
$ ls
(nothing!)
谁能给我解释一下?这是一个错误还是我不知道的东西?
【问题讨论】:
-
总是引用你的变量。试试
mv test "$i"_test -
请注意,丢失的文件已重命名为
.try— 它仍然存在(使用ls -a查看)。