[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: