помощь в запуске команды через Com

Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT
Author Message
jtleo
DD-WRT Novice


Joined: 14 Jun 2019
Posts: 7

PostPosted: Fri Jun 14, 2019 20:07    Post subject: помощь в запуске команды через Com Reply with quote
не могу понять в чем проблема, не запускается скрипт.

задача отключать интерфейс wifi если не пингуется хост.

в Command Shell вставляю следующий код:

#!/bin/bash
sleep 60
ping -c 1 192.168.1.111
con=$? #Get exit code, anything other than 0 is bad
if [ $con -ne 0 ];
then ifconfig ath0.1 down
fi

ничего не происходит.

делаю проверку кодом:

if [ "1" == "1"];then
echo ok
fi

не выдает никакого резульата, вообще ничего не выдает.

пишу: echo ok

выводит: ок

помогите разобраться, что я делаю не так?
Sponsor
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Thu Jun 27, 2019 10:31    Post subject: Re: помощь в запуске команды через Reply with quote
Обратите внимание на спец символы. Пример startup скрипта который создает файл набран в WEB роутера, имеет чуток отличие от реально полученного файла route_nexthop.sh :

Code:

#!/bin/sh
...
echo -e "#!/bin/sh
WANup_ppp0=\`ifconfig | awk '/ppp0/ {print \$1}'\`
R_nexthop=\`ip ro | awk '/nexthop via 192.168/ {print \$1}'\`
if [ \"\$WANup_ppp0\" = \"ppp0\" ]; then
 if [ \"\$R_nexthop\" == \"\" ]; then
  route del default; ip ro flush cache
  ....
  exit;
 else
  Count_ping=\`ping -c2 -I ppp0 хх.хх.хх.67 | awk '/packets received/ {print \$4}'\`
  if [ \"\$Count_ping\" = 0 ]; then
   route del default; ip ro flush cache
...
  fi
 fi
 exit;
else
 route del default; ip ro flush cache
....
fi
exit;
">/tmp/var/tmp/route_nexthop.sh
chmod 755 /tmp/var/tmp/route_nexthop.sh
...

в итоге будет создан нужный файл с нужным содержимом, и так перед ` стоит спец.символ \, так же перед " стоит \, так же перед $ стоит \

Так же есть вариант из WEB, создание файла скрипта как custom, он будет уже готов к запуску в /tmp/custom.sh

Примеры так же
#!/bin/sh
echo "$привет" >> /tmp/111111
echo -n "привет " >> /tmp/111111

if [ "$(nvram get переменная)" = "1" ]; then

if [ -z "$(nvram get переменная)" ]; then

echo -e "MAC Address: `ifconfig tap1 |grep HWaddr|awk '{print $5}'` "
echo -e "Local IP: `ifconfig tap1 |awk -F ":" '/inet addr/ {print $2}' |awk -F " " '{print $1}'` "


${NVRAM} show | sed -n -e "/^${PREFIX}.*/ s/^.*=//p"

if [ ${1} = old ] || [ ${1} = add ] ; then
Display posts from previous:    Page 1 of 1
Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum