bash script error: file or directory doesnt exist

bash script error: file or directory doesnt exist

我正在使用 Ubuntu 14.04

这是我第一次编写 bash 脚本。

这里是:

#!/bin/bash       

${file}="/home/isra/files/mongoTemp.json"
${fdiff}="/home/isra/files/mTempDiff.json"
.
.
commands
.
.
        mv ${file} ${fileold}
.
.
commands
.
.
exit

但它给了我这两个错误:

./index.sh: line 4: =$HOME/files/mongoTemp.json: No such file or directory
./index.sh: line 5: =$HOME/files/mTempDiff.json: No such file or directory
mv: missing file operand
couldn't open [$HOME/files/]

老实说,我不确定问题出在哪里。这些文件确实存在,我在它第一次抱怨时手动创建了它们,但它并没有解决问题,而且,mv 命令不工作。我做错了什么?

赋值给变量时,使用foo=,而不是$foo=,或者${foo}=

即,行:

${file}="/home/isra/files/mongoTemp.json"
${fdiff}="/home/isra/files/mTempDiff.json"

应该是:

file="/home/isra/files/mongoTemp.json"
fdiff="/home/isra/files/mTempDiff.json"

其他看起来还不错。


请注意,前两个错误是由于 ${..}=... 行造成的。

变量$file$fdiff为空,导致mv错误"mv: missing file operand"。您未显示的一些后续命令会导致最终错误。虽然,最有可能的是,一切都会通过正确分配变量来解决。