Execution d'un script
Résolu/Fermé
Pims
-
26 août 2009 à 09:29
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 août 2009 à 10:58
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 août 2009 à 10:58
A voir également:
- Execution d'un script
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
- Erreur d'execution 1004 - Forum Programmation
20 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 13:24
26 août 2009 à 13:24
Re,
#!/din/ksh
A la place de din mais bin
#!/din/ksh
A la place de din mais bin
#!/bin/ksh
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 10:11
26 août 2009 à 10:11
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 10:32
26 août 2009 à 10:32
salut;
je me suis inscrit et donc pims = pims83
j'ai deja fait les recherche sur commentcamarche et google mais j'ai rien trouvé d'interresant
J'avais deja trouvé cde liens mais il ne m'apporte qucunne reponse
Merci
je me suis inscrit et donc pims = pims83
j'ai deja fait les recherche sur commentcamarche et google mais j'ai rien trouvé d'interresant
J'avais deja trouvé cde liens mais il ne m'apporte qucunne reponse
Merci
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 10:52
26 août 2009 à 10:52
Salut,
J'avais deja trouvé cde liens mais il ne m'apporte qucunne reponse
Il faut plutôt savoir selecter.
Je te fait des copier/coller depuis le lien
1. Premièrement, rendez votre script exécutable
2.Dans ce cas, il faut aller dans le répertoire qui contient l'exécutable
Pour exécuter le script, tapez
En résume :
Tu rends ton script exécutabe.
Tu te deplaces dans le répetoire où se trouve ton script.
Tu exécute le script avec la commande ./script
Tout est dans le lien que je t'ai donné.
J'avais deja trouvé cde liens mais il ne m'apporte qucunne reponse
Il faut plutôt savoir selecter.
Je te fait des copier/coller depuis le lien
1. Premièrement, rendez votre script exécutable
chmod +x /home/lami20j/mes_scripts/script.sh
2.Dans ce cas, il faut aller dans le répertoire qui contient l'exécutable
cd /home/lami20j/mes_scripts/
Pour exécuter le script, tapez
./script.shla partie en gras à remplacer avec le chemin de ton script
En résume :
Tu rends ton script exécutabe.
Tu te deplaces dans le répetoire où se trouve ton script.
Tu exécute le script avec la commande ./script
Tout est dans le lien que je t'ai donné.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 11:23
26 août 2009 à 11:23
re bonjour,
desolé si je suis desagreable mais je me repète j'avais deja trouvé ce lien et il ne m'aide pas:
si tu préfère
Mon fichier est deja executable (chmod 755 monscript.sh) idendentique à chmod +x monscript.sh
mon terminal et bien evidament dans le repertoire de monscript.sh
et la lorque je fait ./monscript.sh rien ne se passe
c'est un script ksh et non plus bash
avec un sdcript bash il m'affiche ma premiere ligne de code et dit qu'il n'existe aucun fichier ou dossier de ce type
alors .....
merci de t reponse
desolé si je suis desagreable mais je me repète j'avais deja trouvé ce lien et il ne m'aide pas:
si tu préfère
Mon fichier est deja executable (chmod 755 monscript.sh) idendentique à chmod +x monscript.sh
mon terminal et bien evidament dans le repertoire de monscript.sh
et la lorque je fait ./monscript.sh rien ne se passe
c'est un script ksh et non plus bash
avec un sdcript bash il m'affiche ma premiere ligne de code et dit qu'il n'existe aucun fichier ou dossier de ce type
alors .....
merci de t reponse
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 11:30
26 août 2009 à 11:30
Re,
C'est quoi le chemin complet de ton fichier?
C'est quoi le chemin complet de ton fichier?
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 11:35
26 août 2009 à 11:35
/nfs/users/ils/psp/bga/Desktop/last/
j'ouvre donc un terminal dans ce repartoir pour y fair un chmod et lancer mon script
merci
j'ouvre donc un terminal dans ce repartoir pour y fair un chmod et lancer mon script
merci
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 11:41
26 août 2009 à 11:41
Re,
Tape et affiche
Tape et affiche
cd /nfs/users/ils/psp/bga/Desktop/last/ ls -l *.sh
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 11:43
26 août 2009 à 11:43
-rwxr-xr-x 1 bga sti 2648 aoû 26 11:22 monscript.sh
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 12:00
26 août 2009 à 12:00
Re,
Maintenant tape
Maintenant tape
./monscript.shet affiche ce que tu vois à l'écran
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 12:52
26 août 2009 à 12:52
en tapant ./monscript.sh
il me redonne la main pour taper une commande (mon script ne fait rien ce qui n'est pas normal car en tapant sh monscript.sh ca fonctionne
[moi@machine last] ./monscript.sh
[moi@machine last]
voilla l'affichage a l'ecran
en esperant que ce que tu a passé un bon repas ;)
il me redonne la main pour taper une commande (mon script ne fait rien ce qui n'est pas normal car en tapant sh monscript.sh ca fonctionne
[moi@machine last] ./monscript.sh
[moi@machine last]
voilla l'affichage a l'ecran
en esperant que ce que tu a passé un bon repas ;)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 13:14
26 août 2009 à 13:14
Re,
Ok.
Peux-tu afficher le contenu de ton script?
Ok.
Peux-tu afficher le contenu de ton script?
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 13:22
26 août 2009 à 13:22
je veut afficher le contenue de mon script mais je ne peut pas car il faut que je le tape a la main il est sur un autre ordi par le quel je ne peut pas faire passer le fichier
descripttion vague:
#!/din/ksh############################
# nom du script #
# date version #
###################################
FIC1=fichier1;
FIC2=fichier2;
i=0;
while i<nbligne FIC1 et i<nbligneFIC2
do
i=i+1;
ligneFIC1=ligne$i FIC1
ligneFIC2=ligne$i FIC2
echo "carac fichier 1 : " $ligneFIC1 " ; carac fichier2 : " $ligneFIC2;
done
exit 0;
voilla un code tres simplifier qui t'explique ce que fait le script.
je reprecise le script fonctionne tres bien quent je le lance de la manière suivante : sh monscript.sh
merci
descripttion vague:
#!/din/ksh############################
# nom du script #
# date version #
###################################
FIC1=fichier1;
FIC2=fichier2;
i=0;
while i<nbligne FIC1 et i<nbligneFIC2
do
i=i+1;
ligneFIC1=ligne$i FIC1
ligneFIC2=ligne$i FIC2
echo "carac fichier 1 : " $ligneFIC1 " ; carac fichier2 : " $ligneFIC2;
done
exit 0;
voilla un code tres simplifier qui t'explique ce que fait le script.
je reprecise le script fonctionne tres bien quent je le lance de la manière suivante : sh monscript.sh
merci
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 13:25
26 août 2009 à 13:25
c'est une faute de frappe c'est bien bin
#!/bin/ksh ##############
#!/bin/ksh ##############
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 13:26
26 août 2009 à 13:26
Re,
Alors il faut afficher ton script.
Tu peux le mettre sur une clé usb, pour ne pas être obliger de le retaper.
Que te donne la commande
Alors il faut afficher ton script.
Tu peux le mettre sur une clé usb, pour ne pas être obliger de le retaper.
Que te donne la commande
ls -l /bin/k*?
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 13:29
26 août 2009 à 13:29
j'ai trouvé le souci
la première ligne du fichier doit etre #!/bin/ksh
apparent si il y a quelque chose derière ce la ne marche pas
bon a savoir !!
thx
la première ligne du fichier doit etre #!/bin/ksh
apparent si il y a quelque chose derière ce la ne marche pas
bon a savoir !!
thx
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
26 août 2009 à 13:33
26 août 2009 à 13:33
Re,
la première ligne du fichier doit etre #!/bin/ksh
Ce n'est que toi qui pouvait voir ça, c'est pour ça qu'en fin de compte je t'ai demandé le contenu de fichier.
Maintenant je vais te poser une question ;-)
Pourquoi, malgré le fait que #!/bin/ksh n'était pas la 1ère ligne, avec la commande sh tonscript.sh, le script fonctionnait ?
la première ligne du fichier doit etre #!/bin/ksh
Ce n'est que toi qui pouvait voir ça, c'est pour ça qu'en fin de compte je t'ai demandé le contenu de fichier.
Maintenant je vais te poser une question ;-)
Pourquoi, malgré le fait que #!/bin/ksh n'était pas la 1ère ligne, avec la commande sh tonscript.sh, le script fonctionnait ?
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 13:31
26 août 2009 à 13:31
En tapant le script de cette facon cela fonctionne.
#!/bin/ksh
###################################
# nom du script #
# date version #
###################################
FIC1=fichier1;
FIC2=fichier2;
i=0;
while i<nbligne FIC1 et i<nbligneFIC2
do
i=i+1;
ligneFIC1=ligne$i FIC1
ligneFIC2=ligne$i FIC2
echo "carac fichier 1 : " $ligneFIC1 " ; carac fichier2 : " $ligneFIC2;
done
exit 0;
merci de ta patience lami20j
#!/bin/ksh
###################################
# nom du script #
# date version #
###################################
FIC1=fichier1;
FIC2=fichier2;
i=0;
while i<nbligne FIC1 et i<nbligneFIC2
do
i=i+1;
ligneFIC1=ligne$i FIC1
ligneFIC2=ligne$i FIC2
echo "carac fichier 1 : " $ligneFIC1 " ; carac fichier2 : " $ligneFIC2;
done
exit 0;
merci de ta patience lami20j
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 13:40
26 août 2009 à 13:40
alors ca je ne c'est pas je suppose qu'en faisant "./script" on demande au terminal d'interpréter le fichier dans le type de script que c'est (en loccurence du bash)
alors qu'en faisant "sh script" on interprète le fichier en tant que script sh
non peut etre
qui sais
alors qu'en faisant "sh script" on interprète le fichier en tant que script sh
non peut etre
qui sais
Pims83
Messages postés
20
Date d'inscription
mercredi 26 août 2009
Statut
Membre
Dernière intervention
6 novembre 2009
26 août 2009 à 13:42
26 août 2009 à 13:42
encore mieux en faisant ./script
le terminal va chercher la preière ligne du fichier contenat le #! pour avoir le fichier de l'interpreteur
et donc /bin/ksh existe bien mais pas
/bin/ksh ##################
c'est ca non ?
le terminal va chercher la preière ligne du fichier contenat le #! pour avoir le fichier de l'interpreteur
et donc /bin/ksh existe bien mais pas
/bin/ksh ##################
c'est ca non ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
27 août 2009 à 10:58
27 août 2009 à 10:58
Salut,
Exécution d'un script
1. Invoquer l'interpréteur
Pour exécuter un script on peut utiliser en ligne de commande l'interpreteur.
Dans ce cas le script n'a pas besoin d'avoir les droits d'exécution (x).
Il suffit de passer en argument à l’interpreteur le nom de script
2. Le script est lancé par le noyau
Le shell va exécuter un appel système qui demande au noyau d'exécuter le script.
En fait shell va exécuter un fork() et l'exécution est fait par un processus fils.
Dans ce cas il faut attribuer les droits d'exécutions avec la commande chmod
Le script doit débuter avec #! (shebang) suivi de chemin complet vers l'interpréteur.
En ce cas on peut lancer le script :
- en tapant tout simplement le nom de script (à condition que le chemin du script se trouve dans la variable PATH)
- en utilisant la commande (si on se trouve dans le répertoire du script )
- en utilisant le chemin complet
Exécution d'un script
1. Invoquer l'interpréteur
Pour exécuter un script on peut utiliser en ligne de commande l'interpreteur.
Dans ce cas le script n'a pas besoin d'avoir les droits d'exécution (x).
Il suffit de passer en argument à l’interpreteur le nom de script
interpreteur script interpreteur /chemin/absolu/vers/script interpreteur ../chemin/relatif/vers/script
2. Le script est lancé par le noyau
Le shell va exécuter un appel système qui demande au noyau d'exécuter le script.
En fait shell va exécuter un fork() et l'exécution est fait par un processus fils.
Dans ce cas il faut attribuer les droits d'exécutions avec la commande chmod
chmod +x scriptou
chmod 0755 scriptPour faire cela il y a une convention (à respecter)
Le script doit débuter avec #! (shebang) suivi de chemin complet vers l'interpréteur.
En ce cas on peut lancer le script :
- en tapant tout simplement le nom de script (à condition que le chemin du script se trouve dans la variable PATH)
- en utilisant la commande (si on se trouve dans le répertoire du script )
./script
- en utilisant le chemin complet
/chemin/complet/vers/script