linux user group brescia

immagine del castello

Archivio della mailing list

rispondere a uno script

Maurizio Paolini paolini a dmf.unicatt.it
Lun 29 Gen 2007 13:53:47 UTC
Soluzione pulita: voglio avere uno script che permetta di essere chiamato come

./script pippo pluto

che utilizzi al suo interno i due argomenti "pippo" "pluto"; segui il sugg.
di Carlo usando le variabili di ambiente $1 e $2.  Pero' in questo modo
sconsiglio di dare in input delle password, poiche' sarebbero visibili da
qualunque utente del sistema con un banale "ps" per tutto il tempo in cui
lo script gira (oltre che essere memorizzate nel proprio .bash_history).

Se hai uno script che fa delle domande e che non vuoi modificare il trucco
e' di passare in qualche modo le risposte come standard input, ad esempio:

$ echo -e "pippo\npluto" | ./script

l'opzione "-e" fa si che echo interpreti le sequenze "\n" come un a-capo
invece che come i due caratteri \ e n; e quindi il risultato e' uno stream
con le risposte alle (future) domande che viene inviato allo script, il 
quale mandera' comunque le richieste alle domande sullo standard output,
cioe' a video; la cosa non comporta malfunzionamenti e si puo' disattivare
mandando l'output su /dev/null (./script >/dev/null).

Ovviamente se le tue risposte stanno in un file (ad esempio risposte.txt)
puoi fare un 

$ cat risposte.txt | ./script >/dev/null

oppure

$ ./script <risposte.txt >/dev/null

Ora pero' tutto questo dipende dal fatto che lo script legga da 'stdin'
e non direttamente dal terminale; questo puo' succedere in particolare
in caso di lettura di una password, poiche' in quel caso si vogliono
effetti particolari come la soppressione dell'echo; non c'e' altro che
da provare.

mp

On Mon, Jan 29, 2007 at 02:19:14PM +0100, Carlo Bertoldi wrote:
> Giorgio P.R. wrote:
> > Ciao a tutti,
> > ho uno script che devo eseguire tutti i giorni,
> > esso mi fa delle domande
> >[...]




Maggiori informazioni sulla lista Lug