if [ -e /etc/init.d ];then #mv startppp.sh startppp.sh.bak cp /usr/local/dial/5g_test/startppp.sh /etc/init.d echo "文件移动成功" if [ -f /etc/init.d/startpp.sh ];then echo "文件存在" chmod -R 777 startppp.sh else echo "文件不存在" fi else echo "移动失败" fi为啥一直报文件不存在哪里出错了
时间: 2024-02-14 20:03:11 浏览: 104
Nginx通过/etc/init.d/nginx方式启停【nginx配置文件】
5星 · 资源好评率100%
在这段代码中,if [ -e /etc/init.d ]语句检查了/etc/init.d路径是否存在,如果存在,则执行cp命令将 /usr/local/dial/5g_test/startppp.sh 文件复制到/etc/init.d目录下,并重命名为startppp.sh 。之后,通过 if [ -f /etc/init.d/startpp.sh ] 语句再次检查/etc/init.d目录下是否存在startpp.sh文件,如果存在,则执行 chmod -R 777 startppp.sh 命令来修改startppp.sh文件的权限。
然而,你在修改权限时使用的是 startppp.sh 而不是 startpp.sh 。因此,你需要修改 chmod 命令中的文件名,将 startppp.sh 改为 startpp.sh 。
另外,建议你在 if [ -f /etc/init.d/startpp.sh ] 语句中使用正确的文件名,并且在检查文件是否存在之后再执行 chmod 命令。因此,你可以将代码修改为以下形式:
```
if [ -e /etc/init.d ]; then
#mv startppp.sh startppp.sh.bak
cp /usr/local/dial/5g_test/startppp.sh /etc/init.d/startpp.sh
echo "文件移动成功"
if [ -f /etc/init.d/startpp.sh ]; then
echo "文件存在"
chmod -R 777 /etc/init.d/startpp.sh
else
echo "文件不存在"
fi
else
echo "移动失败"
fi
```
这样就可以正确地移动文件并修改权限了。
阅读全文