Shell
Discutez d'informatique ici !
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 22 Oct 2013, 16:26
slt,
google. shell argument. premier lien:
http://home.gna.org/unix-initiation/website/node98.html$0: nom de la commande
en particulier si ton script s appele script.sh
pour l executer, tu fais sh script.sh
ta commande par defaut ca va etre script.sh
Generalement:
tu crees un fichier avec un nom.
apres tu le modifies.
Si dedans tu utilises $0, tu auras le nom du fichier (a peu pres, ca depend d ou tu lances ta commande)
si ca repond pas a ta question peux tu la detailler?
la vie est une fête

-
Rockleader
- Habitué(e)
- Messages: 2126
- Enregistré le: 11 Oct 2011, 18:42
-
par Rockleader » 22 Oct 2013, 16:57
Disons un script banal qui va supprimer un répertoire passé en argument.
Je crée un fichier texte que je sauve en tant que script1.sh
Puis j'écris à l'intérieur
#!/bin/sh
chmod u+x script1.sh
rmdir '$1'
# doit on mettre quelque chose pour signaler la fin du scripts ?
Je passe dans mon shell; j'exécute mon script en faisant ./script1.sh Toto
Le script va effacer le répertoire Toto dans le répertoire courant. Sans s'occuper de ce qui se passerait s'il n'y a pas le dossier spécifié; je considère que l'argument est bon.
Quelque chose comme ça fonctionnerait donc bien ?
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 22 Oct 2013, 17:02
ben testes.
# doit on mettre quelque chose pour signaler la fin du scripts ?
et non tu peux meme ecrire sh toto.txt, tout le contenu de toto sera interprete par sh.
la vie est une fête

-
Rockleader
- Habitué(e)
- Messages: 2126
- Enregistré le: 11 Oct 2011, 18:42
-
par Rockleader » 22 Oct 2013, 17:21
fatal_error a écrit:ben testes.
et non tu peux meme ecrire sh toto.txt, tout le contenu de toto sera interprete par sh.
J'ai testé au prix d'incroyables lag sur virtual box è_é
Effectivement ça marche bien comme ça merci. (si on oublie le fait que j'ai mal passé mon paramètre j'aurais du mettre des guillemets).
Et à priori je ne peux pas écrire la ligne qui rend le script exécutable dans le script lui même; il faut le faire directement dans le shell.
Merci.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 22 Oct 2013, 17:52
Et à priori je ne peux pas écrire la ligne qui rend le script exécutable dans le script lui même; il faut le faire directement dans le shell.
ca n a rien avoir.
Si tu fais reference au shebang !#/bin/sh
ca veut dire si jamais ton script est en mode executable idem le user a fait
./script.sh
alors tu vas essayer d utiliser linterpreteru /bin/sh
si tu mets /#bin/nodejs
ca veut dire que tu vas utiliser nodejs pour interpreter ton script.
Ca veut pas dire que tu permet l execution du script. Ca veut dire que tu dis quel programme utiliser si jamais lutilisateur il tape ./script.sh
Dans tous les cas tu peux pas l executer si tu as pas chmod+x ton script.
la vie est une fête

-
Rockleader
- Habitué(e)
- Messages: 2126
- Enregistré le: 11 Oct 2011, 18:42
-
par Rockleader » 22 Oct 2013, 18:14
Ok merci pour les infos.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités