Re: [bash] connessione automatica wifi solo se c'è la rete
Luca Costantino ha scritto:
ho l'esigenza di richiamare il case start all'interno del case force-reload?
come è possibile realizzare una cosa del genere?
Per come la vedo io hai due strade: puoi creare una funzione start() che
viene richiamata sia da start) che da force-reload), oppure puoi
richiamare lo script con il parametro voluto:
$0 start
($0 è una variabile interna che contiene il path+filename dello script)
Il primo metodo probabilmente è il più pulito/efficiente/leggibile (per
vederne un esempio prova a dare un'occhiata a /etc/init.d/skeleton )
oltre al paste&cut avevo pensato di mettere il case force-reload PRIMA
del case start e togliere l'exit, ma spero ci sia una soluzione più
elegante
Non funzionerebbe perché bash esce dal case quando incontra ";;"(il
comando interno exit serve ad uscire prematuramente dallo script con un
certo valore di ritorno).
Per fare quello che dici dovresti usare un codice del genere:
start|force-reload)
if [ "$1" = "force-reload" ]; then
//esegui force-reload
fi
//esegui start
;;
ma ci perdi in leggibilità e questo è male.
--
Kind regards,
Marco Romano.
Reply to: