【发布时间】:2015-01-05 07:48:49
【问题描述】:
我已经编写了一个 shell 脚本来重新连接我的路由器。
当我使用 Cygwin 在我的 PC 上运行它时,它运行良好,但现在我想在我的智能手机上的 SL4A shell 中运行它,我收到一个错误:
reconnect.sh[4]语法错误:'{'不匹配
这是我正在使用的脚本:
#! /system/bin/sh
echo "script start"
sleep 3
strindex() {
x="${1%%$2*}"
[[ $x = $1 ]] && echo -1 || echo ${#x}
}
为什么会出现这个错误?
【问题讨论】:
-
tokenStringEnd=${tokenString##*= }行似乎在 SO 语法中注释掉了第二个右大括号。有没有可能 Cygwin 看到了它,但 SL4A 没有? (对不起,我真的不知道这两个 shell。) -
表示reconnect.sh[4]错误在第4行?
-
糟糕,我错过了。那时候估计不行。 :(
-
这显然是一个换行问题。试试这个:
tr -d '\r' reconnect.sh > reconnect_unix.sh然后执行reconnect_unix.sh