Привет всем У меня есть следующий BASH скрипт работает при запуске на моем WRT1900ac linksy с:DD-WRT Bash скрипт под вопросом запуска
USER="admin"
PASS="passhere"
PROTOCOL="http"
ROUTER_IP="192.168.1.1"
# Port to connect to which will provide the JSON data.
PORT=9898
while [ 1 ]
do
# Grab connected device MAC addresses through router status page.
MACS=$(curl -s --user $USER:$PASS $PROTOCOL://$ROUTER_IP/Status_Wireless.live.asp)
# clear temp JSON file
echo > temp.log
# Get hostname and IP (just in case there is no hostname).
for MAC in $(echo $MACS | grep -oE "wl_mac::[a-z0-9]{2}:[a-z0-9]{2}:[a-z0-9]{2}:[a-z0-9]{2}:[a-z0-9]{2}:[a-z0-9]{2}" | cut -c 9-);
do
grep 0x /proc/net/arp | awk '{print $1 " " $4}' | while IFS= read -r line
do
IP=$(echo $line | cut -d' ' -f1)
MACTEMP=$(echo $line | cut -d' ' -f2)
HOST=$(arp -a | grep $IP | cut -d' ' -f1)
# if no hostname exists, just use IP.
if [ "$HOST" == "" ]
then
HOST=$IP
fi
if [ "$MAC" == "$MACTEMP" ]
then
JSON="{'hostname' : '$HOST', 'mac_address' : '$MAC'}"
echo $JSON >> temp.log
fi
done
done
# Provide the JSON formatted output on $PORT of router.
# This allows one connection before closing the port (connect, receive data, close).
# Port will reopen every 5 minutes with new data as setup in a cron job.
echo -e "HTTP/1.1 200 OK\n\n $(cat temp.log)" | nc -l -p$PORT >/dev/null
# Wait for 10 seconds and do it all over.
sleep 10
done
И по какой-то причине, когда я перезагрузить маршрутизатор, а затем попробуйте посетить http://192.168.1.1:9898 он просто показывает пустую страницу, хотя у меня есть мобильный телефон Android, подключенный через Wi-Fi к маршрутизатору, и маршрутизатор показывает MAC-адрес на странице состояния.
Что должно быть на этой странице, все беспроводные MAC-адрес, который в настоящее время подключены к маршрутизатору и отображать их в JSON формы.
Любой BASH Здесь находится гуру, который может помочь выявить проблему?
как запустить этот скрипт при запуске? rc.local? Если да, пожалуйста, разместите содержимое rc.local или разместите там этот скрипт прямо там? – zabeltech
@zabeltech Я запустил его, перейдя на вкладку ** Администрирование> команда ** и сохранив его в качестве ** сценария запуска **. Это похоже на графический интерфейс http://www.octanevpn.com/media/wysiwyg/ddwrt3.png – StealthRT
Сначала вы должны отладить это, прежде чем запускать его как сценарий запуска. См. [Как отладить скрипт bash?] (Http://stackoverflow.com/q/951336/1741542) для получения справки. –