一、脚本里面执行if [ -n `grep "ssid=" /userdata/cfg/wpa_supplicant.conf` ] 会报错binary operator expected 或者 too many arguments。参数中有空格而引起报错,这个问题在部分系统执行会出现。这个问题是解决buildroot px30系统机器重启后WIFI不能自动连接的问题。
:/etc/init.d# grep "ssid=" /userdata/cfg/wpa_supplicant.conf
ssid="xxx-VIP"
ssid=1
ssid="xxx-VIPd"
二、解决方法
使用 [[ -n ${ARG} ]] 或 [ -n "${ARG}" ]
三、参考文章
字符串判空有空格报错:binary operator expected_var 字符串里有空格导致报错_xinwendewen的博客-优快云博客
Bash/Shell Programming – Binary Operator Expected | digitalVectorz.. the digital sage.