Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/08/2007, à 00:17

bog333

exécuter shell script

comment fait ton pour exécuter un shell script a partir d'un autre, mais en répondant a des question poser a laire de read
ex:
#!/bin/bash
echo "t'appelle tu bob"
read a
b="oui"
if test $a = $b
then
echo "a ok"
else
echo "a ben?"
fi

je veux pouvoir exécuter et répondre oui ou non a partir dun shell script. comment je peu faire sa?
merci d'avance.


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#2 Le 30/08/2007, à 08:21

scholi

Re : exécuter shell script

je pige pas trop. Pour répondre il suffit de taper sur ton clavier suivit de [ENTER]. Pour le lancer il suffit de faire ./nom_du_script dans une ligne de commande.

Il faut vérifier que ton script est un fichier exécutable:

chmod +x nim_du_script

Voila c'est tout


S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

Hors ligne

#3 Le 30/08/2007, à 14:46

bog333

Re : exécuter shell script

Je vais essayer d'être plus claire.
jai un premier script qui ce nomme bob.sh
dans celui ci, il y a

#!/bin/bash
echo "t'appelle tu bob"
read a
b="oui"
if test $a = $b
then
echo "ha oui"
else
echo "ha non"
fi

J'ai un deuxième fichier qui ce nomme test.sh, celui ci doit exécuter le premier et répondre oui sans a ce que l'utilisateur est à intervenir (c'est ds le but de faire un correcteur de shell script automatique). Pour l'instant, je suis capable d'exécuter le script, mais pas de répondre oui de facon automatique.

#!/bin/bash
sh bob.sh

J'espère que c'est plus claire

Dernière modification par bog333 (Le 30/08/2007, à 14:47)


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#4 Le 30/08/2007, à 14:55

scholi

Re : exécuter shell script

oui c'est beacoup plus clair. Utilises pas read, mais des arguments à la place. Comme ça ce serra beaucoup plus simple.
tu pourras faire simplement

sh bob.sh bob

et dans bob.sh tu enlèves la ligne "read a" et tu changes les $a en $1

sinon il faudra faire un direction de flux par exemple un fichier qui remplacera le canal d'entrée 1 (ie.: le clavier)

Dernière modification par scholi (Le 30/08/2007, à 14:57)


S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

Hors ligne

#5 Le 30/08/2007, à 15:46

bog333

Re : exécuter shell script

On fait comment pour faire un direction de flux? sa m'intéresse grandement!!!


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#6 Le 30/08/2007, à 15:56

bog333

Re : exécuter shell script

Merci, grace à tes information, j'ai réussi à trouver l'information
sh bob.sh < oui.txt


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#7 Le 08/09/2007, à 19:03

bog333

Re : exécuter shell script

est t'il possible d'exécuter un shell script et de répondre a plusieur read?
exemple.
un script demande ton nom et ensuite ton adresse (avec read)
et tu veux l'exécuter avec un autre script et répondre père noel et pole nord H0H 0Ho

merci d'avance


carte mère P6X58D-E, processeur intel core i7 950 3.06 GHZ
disque dure seagate sata 2TB, 2x 2 Go de ram kingston. sur une ubuntu 11.04 64bit

Hors ligne

#8 Le 08/09/2007, à 20:03

scholi

Re : exécuter shell script

je pige pas trop l'utilité de faire des scripte avec read si c'est pour les appeler par un autre scripte?

Si tu fais toi-même les scripte prévoit de les appeler avec des arguments, c'est beaucoup plus simple et beaucoup plus dans l'esprit Linux.


S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

Hors ligne