shaoling a écrit :
Donc pour résumer : Si je le fais de la seconde façon, la variable ne sera valable que dans le shell (terminal) ouvert, contrairement à la première façon où la variable sera valable durant toute la session, même si on ouvre un autre terminal ?
|
non pas du tout. 1ere façon = variable activée dans l'environnment du shell. 2eme açon variable activée seulement pour le script dans lequelle elle est.
dans la premiere façon, ce qui est exécuté l'est dans l'environnement du shell ouvert et dans son langage. par exemple si tu as 10 commandes shell dans un script et que tu interromps l'execution à la 5eme alors tu n'interromps que la 5eme, ça reprend à la sixieme. c comme si tu avais tappé les 10 commandes successivement au prompt. 10 process auront été crées successivement.
dans la seconde c dans un shell alternatif. si tu fais un ctr+c à la 5eme commande, tu interromps tout le script. un seul process de crée.
de plus avec la seconde maniere tu peux executer tous types de langages. si en en-tete tu as du #!/usr/bin/perl, ça executera bien le script. on ne peut pas faire . ./test.pl
2eme façon, si c un script en bash, un autre bash shell est lançé
Message édité par rengzehn le 23-05-2011 à 19:16:21