|
|
|
|
Toutes les heures sont au format GMT + 1 Heure
|
|
|
Jeu Fév 16, 2006 12:02 |
|
Auteur |
Message |
lmame Diabolo...
Inscrit le: 22 Avr 2005 Messages: 23029 Localisation: Looking for Rem...
Voir l'herbier Radio
|
Sujet du message: [HELP] les shell scripts Linux... |
|
|
Salut
Je suis en train de bosser sous Linux (arghhh) et j'essaie de trouver l'équivalent des .bat en Linux.
Apparemment ce sont donc les shell script (.sh), mais j'essaie de faire un truc tout con:
Code: | #!/bin/sh
clear
echo "on eteinds le ath0 et on active le eth0"
ifdown ath0
ifdown eth0
ifup eth0
exit 0 |
Je précise que je suis sous Suse 10 avec KDE.
le script s'appelle "test.sh" et il est en "exécutable" (chmod 755 sauf erreur) quand je clique dessus via KDE il a l'air de s'exécuter.
Si je l'exécute via une console:
J'ai bien les sorties écrans.
En revanche, j'aurai voulu que quand je l'éxécute d'un clic via le KDE finalement une console s'ouvre et me montre les sorties, est ce possible? Car pour le moment il s'exécute, mais en "invisible"...
Alors, le script marche bien |
|
|
_________________ lalalila, lalalila, lalalalilo, gennosaïdooo....
|
|
|
|
|
Ven Fév 17, 2006 19:55 |
|
Auteur |
Message |
Fred Crozat Dahu
Inscrit le: 25 Avr 2005 Messages: 295
|
Sujet du message: Re: [HELP] les shell scripts Linux... |
|
|
lmame a écrit: | Salut
Je suis en train de bosser sous Linux (arghhh) et j'essaie de trouver l'équivalent des .bat en Linux.
Apparemment ce sont donc les shell script (.sh), mais j'essaie de faire un truc tout con:
Code: | #!/bin/sh
clear
echo "on eteinds le ath0 et on active le eth0"
ifdown ath0
ifdown eth0
ifup eth0
exit 0 |
Je précise que je suis sous Suse 10 avec KDE.
le script s'appelle "test.sh" et il est en "exécutable" (chmod 755 sauf erreur) quand je clique dessus via KDE il a l'air de s'exécuter.
Si je l'exécute via une console:
J'ai bien les sorties écrans.
En revanche, j'aurai voulu que quand je l'éxécute d'un clic via le KDE finalement une console s'ouvre et me montre les sorties, est ce possible? Car pour le moment il s'exécute, mais en "invisible"...
Alors, le script marche bien |
En fait, c'est tout à faire normal : KDE va exécuter le script shell dans un terminal et va fermer le terminal juste après. Tout comme sous Windows, si tu exécutes un "nslookup www.lmame-bug.com", tu vas voir la fenêtre apparaître et se fermer immédiatement.
Le plus simple est de créer un lanceur (bouton droit sur le bureau puis créer un nouveau lien vers une application) où tu indiques que le script doit être exécuté dans un terminal et que ce dernier ne doit pas être fermé à la fin de l'exécution.
Autre solution : faire un script qui lance le terminal avec les bonnes options en faisant le boulot en même temps. Dans ton cas, ça donnerait :
konsole --noclose -e "ifdown ath0 && ifdown eth0 && ifup eth0" |
|
|
|
|
|
|
|
Ven Fév 17, 2006 20:43 |
|
Auteur |
Message |
lmame Diabolo...
Inscrit le: 22 Avr 2005 Messages: 23029 Localisation: Looking for Rem...
Voir l'herbier Radio
|
Sujet du message: |
|
|
Merci de l'info
Pour Windows il y avait une astuce, mettre pause à la fin ce qui faisait que la session DOS attendait que l'on tape une touche pour se fermer
Mais apparemment je n'ai pas trouvé la commande idoine sous Linux |
|
|
_________________ lalalila, lalalila, lalalalilo, gennosaïdooo....
|
|
|
|
|
Ven Fév 17, 2006 21:04 |
|
Auteur |
Message |
Fred Crozat Dahu
Inscrit le: 25 Avr 2005 Messages: 295
|
Sujet du message: |
|
|
lmame a écrit: | Merci de l'info
Pour Windows il y avait une astuce, mettre pause à la fin ce qui faisait que la session DOS attendait que l'on tape une touche pour se fermer
Mais apparemment je n'ai pas trouvé la commande idoine sous Linux |
A la fin de ton script, rajoute "read", ça attendra que tu tapes une ligne et que tu valides.
Sinon, pour faire plus joli, tu peux utiliser les options suivantes pour read :
-s => n'affiche pas les caractères tapés à l'écran
-n 1 => arrête l'attente après 1 caractère (donc n'importe lequel)
-t 30 => arrête l'attente après 30 secondes
plus d'info sur man read ou man bash (ça dépend des distribs). |
|
|
|
|
|
|
|
Ven Fév 17, 2006 21:55 |
|
Auteur |
Message |
lmame Diabolo...
Inscrit le: 22 Avr 2005 Messages: 23029 Localisation: Looking for Rem...
Voir l'herbier Radio
|
Sujet du message: |
|
|
Thanks a lot ça devrait beaucoup m'aider |
|
|
_________________ lalalila, lalalila, lalalalilo, gennosaïdooo....
|
|
|
|
|
Lun Fév 20, 2006 14:29 |
|
Auteur |
Message |
lmame Diabolo...
Inscrit le: 22 Avr 2005 Messages: 23029 Localisation: Looking for Rem...
Voir l'herbier Radio
|
Sujet du message: |
|
|
Le coup du read ne marche pas si je lance le .sh directement par un clic
En revanche je vois bien l'effet du read si je lance le .sh depuis la console... Zarbe |
|
|
_________________ lalalila, lalalila, lalalalilo, gennosaïdooo....
|
|
|
|
|
Lun Fév 20, 2006 15:08 |
|
Auteur |
Message |
lmame Diabolo...
Inscrit le: 22 Avr 2005 Messages: 23029 Localisation: Looking for Rem...
Voir l'herbier Radio
|
Sujet du message: |
|
|
Bon je m'en suis tiré autrement, par le "konsole" grâce à ton aide:
toto.sh:
appelle un autre fichier script lancé dans une autre console
Code: | #!/bin/bash
konsole -T titre de la fenetre --noclose -e /root/Desktop/test.src |
test.src:
Code: | #!/bin/bash
ifdown ath0
ifdown eth0
ifup eth0 |
En fait y'a un truc que j'avais oublié, c'est qu'en cliquant sur un .sh exécutable il "paume" le path en cours, il fallait donc préciser le path du script (test.src)...
Je sais, je fais les tests en root, c'est... mal
Sinon du coup c'est sympa maintenant j'ai la manip pour loguer en txt et afficher ensuite
Code: | #!/bin/bash
unlink /templma/test.log
bash /root/Desktop/test.src > /templma/test.log
kedit /templma/test.log |
|
|
|
_________________ lalalila, lalalila, lalalalilo, gennosaïdooo....
|
|
|
|
|
Lun Fév 20, 2006 21:27 |
|
Auteur |
Message |
Fred Crozat Dahu
Inscrit le: 25 Avr 2005 Messages: 295
|
Sujet du message: |
|
|
lmame a écrit: | Bon je m'en suis tiré autrement, par le "konsole" grâce à ton aide:
toto.sh:
appelle un autre fichier script lancé dans une autre console
Code: | #!/bin/bash
konsole -T titre de la fenetre --noclose -e /root/Desktop/test.src |
test.src:
Code: | #!/bin/bash
ifdown ath0
ifdown eth0
ifup eth0 |
En fait y'a un truc que j'avais oublié, c'est qu'en cliquant sur un .sh exécutable il "paume" le path en cours, il fallait donc préciser le path du script (test.src)...
Je sais, je fais les tests en root, c'est... mal
|
Tu le verras bien assez tôt
Pour le read qui ne marche pas si c'est exécuté directement, c'est peut-être lié parce que l'entrée standard n'est pas une console mais un fichier (mais bon, dans ton cas, ça ne devrait pas être ça..)
Citation: |
Sinon du coup c'est sympa maintenant j'ai la manip pour loguer en txt et afficher ensuite
Code: | #!/bin/bash
unlink /templma/test.log
bash /root/Desktop/test.src > /templma/test.log
kedit /templma/test.log |
|
Ca peut se simplifier :
remplacer le #!/bin/bash par #!/bin/sh (plus commun)
remplacer unlink par rm -f (c'est le plus utilisé)
appele directement le scrip en /root/Desktop/test.src > /tmplma/test.log
et si kedit supportait les pipes (je ne crois pas), tu aurais pu faire un :
/root/Desktop/test.src | kedit -
(ou qqch du genre) |
|
|
|
|
|
|
|
Lun Fév 20, 2006 22:46 |
|
Auteur |
Message |
lmame Diabolo...
Inscrit le: 22 Avr 2005 Messages: 23029 Localisation: Looking for Rem...
Voir l'herbier Radio
|
Sujet du message: |
|
|
Hummm j'essaierai ça demain |
|
|
_________________ lalalila, lalalila, lalalalilo, gennosaïdooo....
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum Vous ne pouvez pa joindre des fichiers dans ce forum Vous pouvez télécharger des fichiers dans ce forum
|
|
|
|