Aide sur un shell

Résolu
dino -  
 dino -
Bonjour,

Je voidrais ecrire un peitit script qui se lance a partir d'une machine A et se connect sur un liste de machine B,C,D,...et laanc a chaque fois un script ou une commande ,mais ca coinse ,il lance ma camande en local

time=`date +%d%m`
LOG_FILE=tarce_$time

list.txt=B,C,D

liste="$(cat /list.txt)"
for i in $liste
do

rsh $i 'ls -ltr'>>tarce_$time

done

Merci pour votre aide
Configuration: Windows XP
Firefox 3.0.3

14 réponses

  1. doudou
     
    Une manière comme tant d'autres ...

    Ici, le script doit exister sur la machine distante...

    echo "Entrez le nom du site : \c"
    read sit
    echo "Entrez le nom de connexion : \c"
    read con
    echo "Entrez le path complet du fichier a executer: \c"
    read pat
    rshell $sit -l $con "$pat"

    Tu mets çà dans ta boucle, tu adaptes rsh / rshell en fonction de ton shell...
    pareil pour récupérer les résultats sur la machine locale...
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello

    list.txt="B C D"
    for i in $list.txt
    do
    0
  3. dino
     
    Bonjour,

    Merci doudou,la solution de dubcek me parait plus simple,mais c'est ce que j'ai essayer de faire :

    liste="$(cat /list.txt)"
    for i in $liste
    do

    le pb c'est que macommande simple "ls -ltr" passe en local ,pas sur la machine distante.
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      que contient list.txt ?
      0
  4. dino
     
    le nom de deux machines.A noter qye je peux faire un rsh et me connecter sans pb avec user root sur le deux a partir de ma machine en locale.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    les nom sont séparés par des espaces ?
    essaye

    rsh $i 'ls -ltr'>>tarce_$time < /dev/null
    0
  7. dino
     
    J'ai essayer de séparer les deux noms par un vide NOK, par un ";" NOK :mon "ls -ltr" passe tje en local et non sur la machines distante
    0
  8. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    liste="$(cat /list.txt)"
    for i in $liste
    do

    le séparateur DOIT être un espace ou tab
    0
  9. dino
     
    je suis d'accord avec toi mais ,encore une fois j'ai essayer un vide ,mais mon "ls -ltr" passe ne local.
    0
  10. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut vous tous,

    Un truc me turlupine ;-\
    list.txt=B,C,D     # <<< variable
    
    liste="$(cat /list.txt)"     # <<< lecture d'un fichier à la racine !!!
    for i in $liste
    do 
    Il n'y aurait pas comme un os ?
    0
  11. dino
     
    j'ai modier le chemin et mis /TOTO/list.txt ,mais est ce vraiment cela le pb ? si oui en quoi et comment le corrriger ?

    Merci.
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Je n'en sais rien, par contre est-ce que le fichier existe ?
      Si oui, alors pourquoi déclarer une variable ?
      Si non, alors c'est la variable qu'il faut lire et dans ce cas c'est la commande "echo" et non "cat" !
      0
  12. dino
     
    Bonjour,

    st-ce que le fichier existe ?....>oui heuresement !
    Si oui, alors pourquoi déclarer une variable ?....>la variable est le contenue de mon fichier qui est une liste de nom de machine
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      la variable est le contenue de mon fichier qui est une liste de nom de machine
      Elle sert à quoi alors ? A rien ?
      0
    2. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
       
      Peux-tu nous donner le resultat des commandes cat -A /TOTO/list.txt et file /TOTO/list.txt ?
      0
    3. dino > asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention  
       
      Bonjour,

      voila :

      cat -A /TOTO/list.txt
      cat: Not a recognized flag: A
      Usage: cat [-qrSsu] [-n[b]] [-v[et]] [-|File ...]

      file /TOTO/list.txt
      /TOTO/list.txt: commands text
      0
    4. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426 > dino
       
      et cat -vet /TOTO/list.txt ?


      PS: Sous quel os es-tu ?
      0
    5. dino > asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention  
       
      cat -vet list.txt
      A B C $

      Mais le "more" me donne
      more list.txt
      A B C

      le $ il fait koi la ?

      pour la version :
      uname -a
      AIX 2 5 00527D0A4C00

      Merci.
      0
  13. dino
     
    OK ! tu me propose quoi ?
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      De répondre au message #15 ;-)
      0
  14. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    rsh A 'ls -lrt'
    si le login sur A se fait comme utilisateur lambda et que le home directory de lambda en monté sur toutes les machines, ls -lrt retournera toujours la même chose
    que répond
    rsh A 'hostname'
    0
    1. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
       
      Ha ouais, bien vu :)

      Croisons les doigts pour que ce soit le cas...
      0
  15. dino
     
    je sais pas ce qu'il fait ,la log ne dit rien :

    + rsh A ls -ltr
    0