Syntaxe lancement script dans terminal Linux - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 23-05-2011 à 15:15:58
le deuxième exécute un script ou un exécutable binaire si les droits sont ok en 'standalone' dans un shell séparé.
Le premier exécute le contenu d'un script dans le shell actif.
par ex si dans le script tu as
export TOTO=485
dans le premier cas, ta variable sera définie dans les variables d'environnement du shell dans le deuxieme cas, non.
>>PS : pourquoi il n'y a pas de catégorie Unix sur le forum ? C'est bien dommage, il y a tout sauf ça.
bhen c'est dans osa ( y'a pas de cat linux ou bsd non plus)
Marsh Posté le 23-05-2011 à 17:58:59
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 ?
Qu'entends-tu par 'standalone' ?
Marsh Posté le 23-05-2011 à 18:59:52
shaoling a écrit : Donc pour résumer : |
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
shaoling a écrit : Qu'entends-tu par 'standalone' ? |
2eme façon, si c un script en bash, un autre bash shell est lançé
Marsh Posté le 23-05-2011 à 22:45:08
Ah ok c'est maintenant beaucoup plus clair
Merci beaucoup !!!
Marsh Posté le 23-05-2011 à 14:20:14
Bonjour,
et
Quelle est la différence entre ces 2 syntaxes pour lancer un script dans un terminal Linux ? Car apparemment au premier abord, ça a l'air de faire la même chose (exécuter le script), mais je ne sais pas expliquer pourquoi...
Merci d'avance.
PS : pourquoi il n'y a pas de catégorie Unix sur le forum ? C'est bien dommage, il y a tout sauf ça.
---------------
>> Culture-Info : La culture informatique pour tous (projet scolaire) <<