繁体   English   中英

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

[英]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" $fdiff "mv: missing file operand" 您未显示的某些稍后命令会导致最终错误。 不过,最有可能的是,一切都将通过正确分配变量来解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM