首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我将两个bash文件合并为一个后,它就不能正常工作了

当我将两个bash文件合并为一个后,它就不能正常工作了
EN

Stack Overflow用户
提问于 2015-02-01 07:22:06
回答 1查看 86关注 0票数 0

当我按顺序执行它们时,它会工作。当我把它们组合起来后,就会出现一个错误。

第一个文件(a.sh)。

代码语言:javascript
复制
# !/bin/bash

/etc/init.d/xl2tpd start | xargs echo
echo "c zju_vpn" > /var/run/xl2tpd/l2tp-control

第二个文件(b.sh)。

代码语言:javascript
复制
#!/bin/bash

sleep 3

VPN_SERVER_IP=10.5.1.7
DEFAULT_GW=10.214.16.1
route add $VPN_SERVER_IP gw $DEFAULT_GW eth0
route del default
route add default ppp0
ping github.com

在执行echo "c zju_vpn" > /var/run/xl2tpd/l2tp-control之后,ppp0接口将不会立即出现。所以我把这个sleep 3写在b.sh文件中。

如果我把它们组合成一个(c.sh)。

代码语言:javascript
复制
#!/bin/bash

/etc/init.d/xl2tpd start
echo "c zju_vpn" > /var/run/xl2tpd/l2tp-control 

sleep 3

VPN_SERVER_IP=10.5.1.7
DEFAULT_GW=10.214.16.1
route add $VPN_SERVER_IP gw $DEFAULT_GW eth0
route del default
route add default ppp0
ping github.com

出现了错误: SIOCADDRT:没有这样的设备.

当我输入ppp0时,没有ifconfig。因此,当执行route add default ppp0时,它将失败,这就是原因。但我不知道为什么会这样。

有人帮我。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-02-01 08:47:10

sleep 3更改为sleep 10,它再次工作。此错误是由网络延迟引起的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28260470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档