Я не понимаю, почему этот bash-скрипт не будет работать на встроенной оболочке BusyBox v1.29.3 () (ash).
Вот код:
#!/bin/sh
MODE=$(cat /etc/config/wireless | grep 'option mode') #not working
#MODE="option mode 'sta'" ==> this works
echo $MODE
MCHECK="option mode 'sta'"
echo $MCHECK
if [ "$MCHECK" = "$MODE" ];then
ping -c3 www.google.com > /dev/null
a=$?
echo $a
if [ $a -eq 0 ];then
echo "ok"
else
echo "fail"
fi
else
echo "no sta mode"
fi
Это работает правильно, если я "форсирую" строку с переменной. (#MODE)
Я предполагаю, что в возвращаемой переменной cat есть символы, которые создают другую строку.
У меня всегда был режим "без sta", так что if не вернет true.
Опциональный режим в etc / config / wireless совпадает со строкой для сравнения.
Не могу найти то, что мне не хватает ..?