2
我想在重命名文件時使用變量。但是,當將變量插入到文件名的開頭時,事情不會按預期工作。Bash:變量不能正確擴展
這裏的情況,我有一個文件名測試:
$ 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' – VM17
請注意,缺少的文件已被重命名爲'.try' - 它仍然存在(使用'ls -a'來查看它)。 –