2016-06-06 3 views
0

Я изучаю bash, и я хотел автоматизировать ряд команд, которые я часто использую. В этом случае это macchanger и перезапуск сетевого менеджера.Сценарий Bash зависает до нажатия Enter. Только показывает новый адрес mac, нет окна сообщений

#!/bin/bash 

#Automated macchanger script 

wlanDOWN=$(ifconfig wlan0 down) 

change_mac=$(macchanger -r wlan0) 

wlanUP=$(ifconfig wlan0 up) 

verify=$(macchanger --show wlan0) 

network_connect=$(sudo service network-manager restart) 

confirmation=$(dialog --msgbox "Change complete" 10 30) 

printf "%s\n" "$wlanDOWN" 
printf "%s\n" "$change_mac" 
printf "%s\n" "$wlanUP" 
printf "%s\n" "$verify" 

printf "%s\n" "To return to permanent mac address type 'macchanger --permanent <interface name>' " 

printf "%s\n" "$network_connect" 

printf "%s\n" "$confirmation" 

Когда я выполнить этот сценарий с

./hide_me 

он просто висит, пока не нажать Enter второй раз, то он просто показывает новый адрес макинтоша и не показывает мое окно сообщения. Любые указатели? Спасибо, друзья.

+0

'while [kill -0" $ pid "]' неправильно, вы, вероятно, имели в виду 'while kill -0" $ pid "'. Вы должны отправить полный пример, если вам нужна дополнительная помощь. – Adrian

+0

Да, извините. Я думал, что вставил код перед тем, как представить. Это сейчас. : D – IRGeekSauce

+0

Я удалил скобки, и теперь я получаю: строка 32: kill: '': не pid или действительная спецификация задания – IRGeekSauce

ответ

0

Убрано диалоговое окно, и оно делает то, что оно должно делать.

#!/bin/bash 

#Automated macchanger script 

wlanDOWN=$(ifconfig wlan0 down) 

change_mac=$(macchanger -r wlan0) 

wlanUP=$(ifconfig wlan0 up) 

verify=$(macchanger --show wlan0) 

network_connect=$(sudo service network-manager restart) 

confirmation=$(dialog --msgbox "Change complete" 10 30) 

printf "%s\n" "$wlanDOWN" 
printf "%s\n" "$change_mac" 
printf "%s\n" "$wlanUP" 
printf "%s\n" "$verify" 

printf "%s\n" "To return to permanent mac address type 'macchanger --permanent <interface name>' " 

printf "%s\n" "$network_connect" 

Я кое-что узнал сегодня: K.I.S.S. ;-)