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

Re: [linux_var] bash



On 04/07/2013 13:14, Cristian Gaiatto wrote:
Il 04/07/2013 13:02, Aladino ha scritto:
ma come "regola" è sempre meglio inizializzare la directory?

In generale quando si programma è buona cosa avere le variabili sempre inizializzate perché una variabile non inizializzata può comportarsi "imprevedibilmente", oppure tu puoi aver saltato un controllo nel tuo codice, ma se la variabile è inizializzata in partenza il problema non si pone.
Questa però è una regola molto generale e non sempre valida, per esempio:
1) Una variabile null è prevista dal codice che stai eseguendo o da qualche funzione inclusa in librerie che stai usando. 2) Stai usando strutture dati complesse che includono valori opzionali e nel caso non siano stati dichiarati non li inizializzi. 3) Nel momento in cui parte il programma non sono disponibili tutti i dati necessari, magari bisogna andarli a leggere da qualche parte o bisogna aspettare che qualcuno li fornisca.
...
Insomma dipende un po' dal contesto e un po' dai gusti personali.

Nel tuo caso non credo che definire la variabile nello script, come ho fatto io, sia la scelta migliore: se devi cercare in una cartella diversa dovresti aprire il file e editarlo ogni volta. Poco pratico.
Io adotterei una di queste soluzioni:
1) Far chiedere allo script la cartella di partenza, così come fai per la stringa da matchare
2) Passere il parametro da riga di comando
2.bis) Passare da riga di comando sia il percorso di partenza che la stringa da matchare in modo tale da poter eseguire lo script in questo modo:
$ ./mio_script_sh directory_di_partenza stringa_da_matchare

Il vantaggio del 2.bis è che in questo modo puoi richiamare il tuo script da altri, ed eseguirlo in automatico senza dover inserire a mano altro input

by aL
--
Aladino
http://www.nerdest.it
http://twitter.com/_Aladino_
http://gplus.to/aladino
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking