2017-05-29 4 views
0

私はKali Linuxのスクリプトを書いています。このスクリプトはネットワークカードを監視モードにします。しかし、私はそれを実行しようとすると8行目のコマンドで問題に遭遇しています。ここでは、コードは次のとおりです。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 

を実行しているかどうかを確認するために

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

チェックし、無線インタフェースの名前は、変数

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 

設定するように求められます。しかし、私は、問題があること言って入手できますか8行目は正しくありません。

+0

[shellcheck.net](http://shellcheck.net)を使用してスクリプトを診断します。 – mklement0

答えて

1

問題は、あなたが右else

前にライン

esac 

を追加することによって、それを修正することができますが、esac

でそれを仕上げされなければならないときにelsecaseブロックを終えているということです

+0

私はうそをつくつもりはありません。私は、私が基本的にこのスクリプトを設定するには、グーグルをたくさん行うことによって何の手がかりも持っていません。それが動作するためには、スクリプトで正確に何を変更しなければならないでしょうか? – Darth4212

+0

特殊な構文を持つ複合コマンドを使用しています。あなたは 'man bash | sed -n '/^\ s \ {7 \} case /、/ list \。$/p "を入力します。またはこちらをご覧ください:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_03.html –

関連する問題