Shell

Discutez d'informatique ici !
Avatar de l’utilisateur
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 :)



Avatar de l’utilisateur
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 !

Avatar de l’utilisateur
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 :)

Avatar de l’utilisateur
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 !

Avatar de l’utilisateur
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 :)

Avatar de l’utilisateur
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 !

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite