OpenWRT路由器bash scipt问题

时间:2017-07-14 13:06:36

标签: bash startup

我想在启动时运行bash脚本。但是我有一个错误。我的脚本出了什么问题?当我从命令行发送字符串时,我没有收到任何错误。这是bash脚本中变量的问题吗?我分享的代码正在处理我的其他项目。

任何人都可以帮助我吗?

脚本

enter image description here

#!/bin/sh /etc/rc.common
# Example script

START=40

start() {

    file="ipcam.txt"

    while IFS=: read -r xf1 xf2 xf3
    do
        printf 'Loop: %s %s %s\n' "$xf1" "$xf2" "$xf3"
        f1=$xf1
        f2=$xf2
        f3=$xf3
    done < "$file"
    printf 'After: %s %s %s\n' "$f1" "$f2" "$f3"


    echo "script start"
        iptables -t nat -A PREROUTING -p tcp --dport $f2 -j DNAT --to-destination $f1:$f3
}

1 个答案:

答案 0 :(得分:0)

首先(或许应该是评论)&#34;我有一个错误&#34;通常是一个糟糕的描述;你应该添加错误。 最明显的错误是:

file="ipcam.txt"

这将在当前目录中查找ipcam.txt。它可能位于您测试脚本的目录中,但在启动时运行脚本时可能不在目录中。解决方法是将完整的路径名(/etc/ipcam.txt或放在何处放置)放在脚本中。