if [ -e /usr/local/dial/5g_test ];then mv /usr/local/dial/5g_test/apn /usr/local/dial/5g_test mv /usr/local/dial/5g_test/serverip /usr/local/dial/5g_test mv /usr/local/dial/5g_test/pingmaxtime /usr/local/dial/5g_test echo "文件移动成功" else echo "文件不存在" exit fi为啥一直报错具体要怎么修改
时间: 2023-06-29 08:19:18 浏览: 116
这段代码的语法是正确的,但是可能存在以下问题:
1. `mv`命令后面没有加上`&&`或`;`来表示命令执行成功后才执行下一个命令。如果第一个`mv`命令执行失败,那么后面的两个`mv`命令也不会执行。你需要将3个`mv`命令之间加上分号或者并列执行符`&&`,例如:
```
if [ -e /usr/local/dial/5g_test ]; then
mv /usr/local/dial/5g_test/apn /usr/local/dial/5g_test ; \
mv /usr/local/dial/5g_test/serverip /usr/local/dial/5g_test ; \
mv /usr/local/dial/5g_test/pingmaxtime /usr/local/dial/5g_test ; \
echo "文件移动成功"
else
echo "文件不存在"
exit
fi
```
2. `mv`命令的目标路径后面没有加上斜杠`/`,这会导致`mv`命令将源文件移动到目标路径下,并将源文件重命名为目标路径的最后一段。你需要将3个`mv`命令的目标路径都加上斜杠,例如:
```
if [ -e /usr/local/dial/5g_test ]; then
mv /usr/local/dial/5g_test/apn /usr/local/dial/5g_test/ ; \
mv /usr/local/dial/5g_test/serverip /usr/local/dial/5g_test/ ; \
mv /usr/local/dial/5g_test/pingmaxtime /usr/local/dial/5g_test/ ; \
echo "文件移动成功"
else
echo "文件不存在"
exit
fi
```
你可以尝试以上修改后再执行命令看看是否能够成功移动文件。
阅读全文