[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux_var] Modalita' esecuzione script
Il giorno 17/lug/08, alle ore 18:53, 0bscure ha scritto:
In alcune macchine se devo lanciare uno script, pippo.sh per
esempio devo fare:
# . ./pippo.sh
. ?
Assai strano.
Per niente. Prova...
Che funzioni non è strano. Come potrai leggere in man bash ".
qualcosa" è un'abbreviazione per "source qualcosa".
Che 'devo fare . ./pippo' è strano.
Il source (o .) si usa per importare (come il nome suggerisce)
variabili d'ambiente. Cosa che di solito si vuole evitare da uno
script "one-time". A parte il volerlo evitare o meno, di sicuro non è
"necessario". Per approfondire leggiti (sempre nel famoso man bash o
equivalente) le regole sulla propagazione delle variabili d'ambiente.
non mi e` mai capitato, di solito e` semplicemente
$ ./pippo.sh
Assai meglio.
Diverso dal precedente a quanto pare
Sure.
mentre in altre mi basta lanciare il nome dello script
Perché lo script è nel path.
No non mi son spiegato bene.
Lanciare con solo il nome dello script o ./nomescript mi torna
il primo è un comando senza path, quindi verrà cercato solo ed
esclusivamente nelle directory specificate dalla variabile d'ambiente
PATH
il secondo è un comando con path relativo, quindi verrà cercato solo
ed esclusivamente in quel percorso ignorando del tutto PATH
Il file e' un file di alias.. del tipo
#!/bin/ksh
alias uccidi='kill -9 -1'
Gli alias non sono file, fanno parte dell'espansione di shell e
vengono interpretati PRIMA di eseguire la commandline.
Il path non si applica al nome dell'alias, si applica al comando che
esegue.
Perche'? Mi pare sia un parm di config della shell?
man bash, alla voce PATH
bash chi??
man ksh allora. Comunque prima di usare una shell, suggerisco di
leggersene il manuale :)
--
Luca Lesinigo
--
Per cancellare l'iscrizione: <talking-unsubscribe at ml.linuxvar.it>
Archivi web e configurazione: http://ml.linuxvar.it/ml/