bash脚本错误:文件或目录不存在

时间:2015-02-27 08:12:49

标签: bash shell ubuntu ubuntu-14.04

我正在使用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命令不是工作。我做错了什么?

非常感谢任何帮助!谢谢。

1 个答案:

答案 0 :(得分:2)

分配到变量时,请使用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"。一些后来命令你没有显示导致最后的错误。尽管如此,通过正确分配变量,一切都将得到修复。