2017-05-29 1 views
0

Also ich schreibe ein Skript für Kali Linux, die meine Netzwerkkarte in den Überwachungsmodus versetzt. Aber ich stoße in der achten Zeile auf ein Problem mit dem Befehl do, wenn ich versuche, es auszuführen. Hier ist der Code:Setiing dieses Shell-Skript, was ist falsch mit ihm

#!/bin/bash 
echo "Preparing to enter monitor mode."` 

Prüft, ob Firefox

ps cax | grep firefox > /dev/null 
if [ $? -eq 0 ]; then 
echo "Firefox is running. It needs to be closed in order to properly enter monitor mode." #If it is offers to close it 
echo "Would you like me to close it for you?" 
select yn in "Yes" "No"; do 
case $yn in 
Yes) pkill firefox; echo "Firefox killed. Proceeding to enter monitor mode."; echo "Press any button when ready"; wait;; 
No) echo "Proceeding to enter monitor mode."; echo "Press any button when ready."; wait;; 
else 
echo "Proceeding to enter monitor mode." 
echo "Press any button when ready" 
wait 
fi 

läuft fordert Namen der drahtlosen Schnittstelle Variable

echo "What is the name of your wireless interface?" 
read interfacevar 
echo Thank you. Entering $interfacevar into monitor mode. 
airmon-ng start $interfacevar 
airmon-ng check kill 
echo "Complete! Exiting in:" 
echo "5" 
sleep 1s 
echo "4" 
sleep 1s 
echo "3" 
sleep 1s 
echo "2" 
sleep 1s 
echo "1" 
sleep 1s 
echo "Goodbye!" 
exit 

zu setzen Aber ich dann Probleme, dass das Gericht do in Zeile 8 ist nicht korrekt.

+0

Verwenden Sie [shellcheck.net] (http://shellcheck.net), um Ihr Skript zu diagnostizieren. – mklement0

Antwort

1

Das Problem ist, dass Sie einen case Block mit else Finishing, wenn Sie es mit esac

Schlichten sollten Sie können das Problem beheben, indem Sie eine Zeile hinzufügen

esac 

direkt vor dem else

+0

Okay, ich werde nicht lügen. Ich habe keine Ahnung, was das bedeutet, dass ich dieses Skript im Wesentlichen durch viel Googeln eingerichtet habe. Was genau müsste ich im Skript ändern, damit es funktioniert? – Darth4212

+0

Sie verwenden einen zusammengesetzten Befehl mit einer speziellen Syntax. Das kannst du mit 'man bash | lesen sed -n '/^\ s \ {7 \} Fall /,/Liste \. $/p''. Oder schau mal hier: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_03.html –