Unix - execution de commandes dans differents

Résolu/Fermé
nico3fr Messages postés 34 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 17 janvier 2008 - 31 mai 2007 à 14:31
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 1 juin 2007 à 09:30
Bonjour,

J'aurais plusieurs petites questions en fait.

Je cherche à executer differentes commandes dans plusieurs terminaux UNIX.
J'ai pu trouver ce post ci qui parle un peu de ce que je recherche :
execution multiple en shell

Mais qui ne réponds pas vraiment à mes questions.

Lorsque je fais
xterm  -e "ls -l ; read -p 'exit' foo"
le terminal se ferme aussitot la commande executé.

Est il possible de le garder ouvert, pour pouvoir par la suite executer d'autre commandes dans le/les terminaux ouvert par un script ?

Pour résumer, je voudrais pouvoir à partir d'un terminal exécuter un script qui ouvrirait 1 ou plusieurs autres terminaux dans lesquels seront exécuté une serie de commandes. Les terminaux ainsi ouvert devant le resté pour pouvoir executer d'autre commandes manuellement par la suite.

------------------
Question suivante :)

Dans les commandes que j'aurais à exécuter dans les nouveaux terminaux, j'aurais besoin de me logger sur un nouveau compte
su toto
et le password. C'est possible à faire dans un script ?

------------------
Dernière question (pour le moment)

Question sur clearcase...
Pour corser un peu le tout, j'aurais également des commandes clearcase à exécuter... Et pour le moment, si je fais un
ct setview ma_vue
dans un terminal, je perd la main directement après.
Par exemple, si je fais
ct setview ma_vue ; ls
le ls n'est pas pris en compte. Il doit exister une solution pour ca aussi, et je remercie par avance les personnes susceptible de répondre à une ou plusieurs de mes questions.


Merci.

7 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
31 mai 2007 à 15:35
Réponse à la première question, appeller un shell:

xterm -e "ls -l ; read -p 'exit' foo; $SHELL"

pour ClearCase, j'ai des souvenir d'une option -login, faut voir les manuels
0
nico3fr Messages postés 34 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 17 janvier 2008 5
31 mai 2007 à 15:50
Ah oui, nikel le coup du shell.
J'avais meme pas vu qu'il n'y avait pas de shell en ouvrant les terminaux de cette facon, merci :)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
31 mai 2007 à 15:53
ct est un alias de cleartool ; cleartool -h ou man cleartool devrait afficher les options.
Pour le su, il recommandé de ne pas mettre de mot de passe dans un script !! mais bon ...
il faut utiliser un outil comme expect.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
31 mai 2007 à 16:00
Pour Clearcase, essaie ça : ct setview ma_vue -exec ls

est aussi possible :
ct setview ma_vue << EOF
ls
date
hostname
EOF
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nico3fr Messages postés 34 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 17 janvier 2008 5
31 mai 2007 à 16:21
Oui, j'avais trouvé entre temps pour le -exec.

Par contre dans ta commande, faut juste le placer avant le ls.
ct setview -exec ls ma_vue
Je peux meme executer un ensemble de commandes en executant un petit script comme ca :
xterm -e "ct setview -exec "~/test" ma_vue"
Me reste plus qu'a résoudre le soucis pour le login maintenant, merci encore :)
0
nico3fr Messages postés 34 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 17 janvier 2008 5
31 mai 2007 à 17:39
Bon, je vais considérer les problemes comme résolu :)

Pour la question 1 : Il me suffit de rajouter l'ouverture d'un terminal pour garder mon terminal ouvert et ainsi pouvoir exécuter des commandes supplémentaires.

Pour la question 2 : Alors la, c'est super tricky comme solution, J'ai qu'un seul compte sur lequel je dois me loguer, donc la solution va consister à préalablement me loguer sur ce compte avant d'exécuter le script :D

Question 3 : Je peux lancer mes commandes clearcase avec cette syntaxe :
ct setview -exec "mes commandes" ma_vue


Merci a dubcek pour son aide :)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
1 juin 2007 à 09:30
Si tu as un seul compte, sous quel utilisateur te connectes-tu ?
Si c'est root, su user ne va pas demander de mot de passe.
0