V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
realsteve
V2EX  ›  OpenWrt

请帮忙看看这段 ipsec 拔号脚本在 OpenWrt 里执行出错的问题在哪里?非常感谢!

  •  
  •   realsteve · 2014-10-01 03:26:46 +08:00 · 1804 次点击
    这是一个创建于 3725 天前的主题,其中的信息可能已经有所发展或是发生改变。
    路由是 WNDR4300 ,固件是 @nanpuyue 提供的: http://v2ex.com/t/131984#reply23
    固件版本:OpenWrt Chaos Calmer r42229 / LuCI Trunk (svn-r10520)
    内核版本:3.10.49
    安装了 ipsec-tools 和 xl2tpd 软件包。

    脚本原是用于 Fedora Linux 8 ,配合所图所示软件包



    以「 sh /etc/connect.sh 」方式运行,提示:/etc/connect.sh: line 48: syntax error: unexpected end of file (expecting "then")
    直接「./connect.sh 」,则提示:-ash: ./connect.sh: not found

    脚本在此:
    第 1 条附言  ·  2014-12-25 19:20:21 +08:00
    抛弃这段脚本。装 vpnc 解决问题。
    7 条回复    2014-10-10 16:18:41 +08:00
    AntonChen
        1
    AntonChen  
       2014-10-01 11:00:21 +08:00   ❤️ 1
    #!/bin/bash 肯定是一个问题

    不怎么清楚ash和bash脚本有什么区别 不过OpenWrt下有sh

    可以试试改为#!/bin/sh
    csx163
        2
    csx163  
       2014-10-01 12:51:34 +08:00   ❤️ 1
    再检查下换行符
    realsteve
        3
    realsteve  
    OP
       2014-10-01 15:24:52 +08:00
    感谢 @AntonChen @csx163 的解答。

    我改了 #!/bin/sh,去掉 22 行尾一个多余的空格,将所有行尾的 ^M 字符去除,再次运行,得到这样的提示:

    sh: bad number
    Please use root account or sudo in order to connect

    再请求指点。
    AntonChen
        4
    AntonChen  
       2014-10-03 23:16:19 +08:00   ❤️ 1
    ROOT_UID=0
    if [ "$UID" -eq "$ROOT_UID" ]
    then
    echo "User has root privileges, will continue..."
    else
    echo "Please use root account or sudo in order to connect"
    exit 1
    fi
    AntonChen
        5
    AntonChen  
       2014-10-03 23:17:36 +08:00   ❤️ 1
    啊 西八 按错键了

    我发的那部分是判断语句 判断是否为root账户 试着去掉这些运行试试
    realsteve
        6
    realsteve  
    OP
       2014-10-09 01:06:48 +08:00
    感谢 @AntonChen 的回复。现在有个新的问题:OpenWrt 用的是 udhcpc,而脚本中要用到 dhclient,这种情况下脚本要如何修改?
    AntonChen
        7
    AntonChen  
       2014-10-10 16:18:41 +08:00
    @realsteve dhclient是用来重新获取IP的么如果是可以 udhcpc -i 网卡
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2698 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:31 · PVG 22:31 · LAX 06:31 · JFK 09:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.