OVH Cloud OVH Cloud

Question sur le shell

52 réponses
Avatar
Grosdebutant
Bonjour,
Je débute en venant de DOS et je comprends pas bien comment dans un shell
positionner une variable pour qu'elle soit valide en sortie du shell
exemple
#!/bin/sh
TOTO=123
echo $TOTO

j'ai bien 123
mais si je lance manuellement echo $TOTO , je n'ai plus rien

Une autre question , est ce qu'il est possible de lancer un executable en
tache de fond a partir d'un shell
#!/bin/sh
Monexe1
Monexe2
Monexe3

en fait je veux lancer un executable (Monexe2)qui ne s'arrête que 10
minutes plus tard. mais je veux que le shell sorte directement.

10 réponses

1 2 3 4 5
Avatar
Khaled
Un simple conseil, comme vous êtes encore débutant dans unix et vous
n'avez rien à perdre, il vous vaudra mieux d'apprendre un vrai langage
de scripting que de perdre votre temps avec le shell.

Je vous conseiller "Tcl", qui est plus facile à apprendre, plus
puissant et; en plus vous pourrez dévéloper des interfaces GUI est
distribuer votre programmes sur unix, linux, mac et windows.

http://www.tcl.tk
http://groups-beta.google.com/group/fr.comp.lang.tcl
http://groups-beta.google.com/group/comp.lang.tcl

Bon courage..
Khaled
Avatar
Stephane Dupille
On peut aussi détacher toute le session 'screen' du terminal courant puis
rattacher cette session sur un autre terminal. C'est pratique par exemple
lorsqu'on commence quelque chose au boulot et qu'on veut le terminer de chez
soi...ou l'inverse ;-)


Cela permet aussi de sécuriser une transaction distante. Si jamais
la connexion vautre pendant qu'on travail, on peut la récupérer après
que le lien soit remonté, ou d'ailleurs. J'utilise systématiquement
screen à distance.

--
Cela m'a même déjà valu quelques discussions animés avec mes paires
-+- FC in <http://www.le-gnu.net> : Tête à tête ou tête à queue ? -+-

Avatar
Arnaud Gomes-do-Vale
Stephane Dupille <sdupille+ writes:

disown, c'est pas spécifique à zsh ? Le pb de disown, c'est qu'on
doive l'utiliser après que la commande a été lancée, et ce n'est pas
toujours facile à contrôler dans un script.


Sous zsh, en tout cas, tu peux utiliser cette syntaxe :

commande &!

Ça fait la même chose que ça :

commande &
disown

--
Arnaud

Avatar
Fred
Un simple conseil, comme vous êtes encore débutant dans unix et vous
n'avez rien à perdre, il vous vaudra mieux d'apprendre un vrai langage
de scripting que de perdre votre temps avec le shell.

Je vous conseiller "Tcl", qui est plus facile à apprendre, plus
puissant et; en plus vous pourrez dévéloper des interfaces GUI est
distribuer votre programmes sur unix, linux, mac et windows.

http://www.tcl.tk
http://groups-beta.google.com/group/fr.comp.lang.tcl
http://groups-beta.google.com/group/comp.lang.tcl

Bon courage..
Khaled



Ca m'aurait étonné qu'il n'y en ai pas au moins un pour dire ça !

Question : Comment faire telle chose en sh
Réponse : Le sh c'est de la merde

Une variante de la réponse : en tous cas en zsh c'est simple

Quand donc répondrez-vous à la question posée ? C'est agaçant de
toujours lire les mêmes arguments à deux balles : le perl par ci, le tcl
par là, une petite touche de zsh, rajoutez un peu de awk...

C'était le coup de gueule hebdomadaire de Fred.

Avatar
Khaled
Fred wrote:

Ca m'aurait étonné qu'il n'y en ai pas au moins un pour dire ça !

Question : Comment faire telle chose en sh
Réponse : Le sh c'est de la merde

Une variante de la réponse : en tous cas en zsh c'est simple

Quand donc répondrez-vous à la question posée ? C'est agaçant de
toujours lire les mêmes arguments à deux balles : le perl par ci,
le tcl

par là, une petite touche de zsh, rajoutez un peu de awk...

C'était le coup de gueule hebdomadaire de Fred.


Les shells ne sont que des shells. On peut les comparer l'un avec
l'autre en tant que des interfaces interactives de commandes. Quand on
parle de scripting, il nous vault mieux de les oublier et chercher
plutôt un vrai langage.

zsh est sans doute mieux que sh (la merde). Mais il n'est pas
comparable aux Tcl et perl par exemple.

Question : Comment faire telle chose de scripting en sh
Ma réponse (tout à fait personlle): Ne perdez pas de temps avec des
shells, y compris sh, tcsh, bash, zsh, qqchsh, etc;

amts,
Khaled

Avatar
Paul Gaborit
À (at) 8 Apr 2005 09:00:09 -0700,
"Khaled" écrivait (wrote):
Question : Comment faire telle chose de scripting en sh
Ma réponse (tout à fait personlle): Ne perdez pas de temps avec des
shells, y compris sh, tcsh, bash, zsh, qqchsh, etc;


Il ne faut pas exagérer : il existe de très nombreux cas où il est impossible
de se passer d'un shell pour faire des scripts. À ma connaissance, toutes les
tentatives visant à remplacer les milliers de petits scripts shell d'un Unix
par des équivalents en un "vrai" langage de script ont échoué. D'ailleurs la
plupart des distributions (Linux ou *BSD) n'intègrent plus aucun langage de
script dans leur configuration par défaut... Et c'est une bonne chose. Ceux
qui utilisent des distributions qui n'ont pas encore fait ce boulot peuvent
certainement témoigner des galères de mises à jour (de Perl en particulier)
qui sont pourtant nécessaires.

Et pourtant, je suis un fervent défenseur de Perl et Python (beaucoup moins de
Tcl)...

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>

Avatar
Stephane Dupille
disown, c'est pas spécifique à zsh ? Le pb de disown, c'est qu'on
doive l'utiliser après que la commande a été lancée, et ce n'est pas
toujours facile à contrôler dans un script.
Sous zsh, en tout cas, tu peux utiliser cette syntaxe :

commande &!


Je ne connaissais pas, c'est rudement bien, ça ! Merci Arnaud !
zsh, on en apprend tous les jours... ;-)

--
Je tutoie par habitude. Ne te plains pas, en général,
je ne vouvoie que ceux que je hais vicéralement.
Je n'arrive pas à haïr une paramécie.
-+- FJ in GNU - Le neuneu monocellulaire siscipare -+-


Avatar
TiChou
Dans le message <news:,
*Stephane Dupille* tapota sur f.c.o.unix :

Sous zsh, en tout cas, tu peux utiliser cette syntaxe :
commande &!


Je ne connaissais pas, c'est rudement bien, ça ! Merci Arnaud !
zsh, on en apprend tous les jours... ;-)


Alors qu'avec TCL on a vite fait le tour (des limites et des bugs...).

--
TiChou


Avatar
Emmanuel Florac
Le Fri, 08 Apr 2005 15:47:32 +0200, Fred a écrit :


Quand donc répondrez-vous à la question posée ? C'est agaçant de
toujours lire les mêmes arguments à deux balles : le perl par ci, le tcl
par là, une petite touche de zsh, rajoutez un peu de awk...


Soyons réaliste; le sh c'est bien pour faire un petit script simple, mais
dès qu'on sort du complètement trivial il est 100 fois préférable
d'utiliser perl ou tcl! Personnellement j'utilise souvent des une-lignes
en perl, parfois avec une boucle pour l'alimenter en sh genre

for i in /toto/titi/*.txt; do perl -pi -e "s/toto/titi/g" $i; done

--
In girum imus nocte ecce et consumimur igni

Avatar
Laurent Wacrenier
Emmanuel Florac écrit:
Soyons réaliste; le sh c'est bien pour faire un petit script simple, mais
dès qu'on sort du complètement trivial il est 100 fois préférable
d'utiliser perl ou tcl! Personnellement j'utilise souvent des une-lignes
en perl, parfois avec une boucle pour l'alimenter en sh genre

for i in /toto/titi/*.txt; do perl -pi -e "s/toto/titi/g" $i; done


C'est par vice, alors.

perl -pi -e "s/toto/titi/g" /toto/titi/*.txt

1 2 3 4 5