[linux_var] Modalita' esecuzione script

0bscure obscure9 a gmail.com
Ven 18 Lug 2008 09:40:26 UTC


On Thu, Jul 17, 2008 at 8:19 PM, Luca Lesinigo <lucky a luckyluke.org> wrote:

> 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.
>

Il . si usa per eseguire i comandi nello stesso environment della shell
corrente. Legge anche la variabile PATH.
Se poi importi altre variabili o meno e' una conseguenza.


>  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.
>

Che cosa sono gli alias lo sappiamo. Come funzionano anche.
Lo riscrivo in versione estesa: io devo definire degli alias caricandoli da
un file.
La domanda e' perche' uno script in quella dir e' eseguibile (path o meno)
mentre gli alias non vengono caricati?

La risposta me la sono trovata da solo:
facendo ./alias i comandi vengono eseguiti in una nuova shell, forkata da
quella di lancio e quindi al termine dell'esecuzione niente alias
facendo . ./alias i comandi vengono eseguiti con l'env della shell corrente
e quindi aggiunti gli alias
Piu' o meno dovrebbe essere cosi


 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 :)
>

Questa e' una ml aperta alle domande di tutti, belli e brutti, newbie e
supergeni. Se uno puo' aiutare risponde, se non puo' semplicemente tace.
Rispondere "leggiti il manuale" lo abbiamo sempre lasciato alle mailing list
di sboroni!
Io ti suggerisco quindi di cercarti un bel centro di ascolto. Google is your
friend :)  oppure un bel man umilt che di sicuro non hai mai letto

Andrea


-- 
gpg fingerprint = D66C 9448 F9CC 8AC8 5074 ADB3 3597 A363 FA8D 3BE2

La pulenta e l vin ross a fan ben ai oss!! Picaa gi fin a la mort...

http://digilander.libero.it/ccudiga/
-------------- parte successiva --------------
Un allegato HTML  stato rimosso...
URL: <http://ml.linuxvar.it/pipermail/talking/attachments/20080718/2f4077a2/attachment.html>


More information about the Talking mailing list