报错详情如下root@OpenWrt:~# /root/connect_net.sh
-ash: /root/connect_net.sh: not found
在运行一个脚本时,出现如上错误,脚本内变量定义为code = curl -o /dev/null -sw %{http_code} www.baidu.com
查询后发现,在OpenWRT中shell仅支持ash,而linux 和 Ubuntu中默认使用为bash
此处解决方法为 在定义变量的时候,等号 ‘=’ 左右两边不留空,如例所示
code = curl -o /dev/null -sw %{http_code} www.baidu.com
在OpenWRT中运算变量仍需注意
- 变量运算只支持expr,不支持$[], $(()), let此三种格式
- 加号 "+" 左右必须留空格