Programmation bash / script bash

Résolu
bonjour j'ai un souci avec un petit script bash que j'ai fait:
tout d'abord j'ai un fichier try qui contient

//192.168.1.1/binaire; date 1 ; date 2
132.456.555.555:/toto; date 1; date 2
//123.456.789/voila; date 1; date 2
124.765.677.677:/commeca; date 1 ; date 2

les partages cifs sont sous la forme //xxx.xxx.xxx/partage ceux nfs sont xxx.xxx.xxx:/partage

j'ai écrit un code qui me permet de vérifier s il est cifs ou nfs
#!/bin/bash

i=0
while read line
do
i='expr $i + 1'
var=$(awk -F ";" 'NR=='$i' {print $1;}' try | awk -F ":" '{print $2;}')

#dans la variable j'ai le partage rien quand il est cifs et nimporte quoi quand il est nfs

if [ var != " " ] # je controle si la variable est différent de vide
then
echo "partage nfs"
break
else # dans le cas contraire

echo "partage cifs"
fi
done<try

mias je n'obtiens rien quelqu'un pourrait m'aider merci cdtsl Dmouha

4 réponses

  1. c est bon j'ai trouver il fallait juste affecté les variables merci pour l'aide
    1. Modérateur
      Essaie comme ça alors :

      jp@MDK:~/tmpfs ssh$ cat foo.sh
      #! /bin/sh
      
      #set -xv
      
      while read line
      do
      grep -q '^/' <<<${line}
      if [ "$?" = 0 ]
      then
      echo "mount -cifs ${line%%;*}"
      else
      echo "mount -nfs ${line%%;*}"
      fi
      done < try
      
      jp@MDK:~/tmpfs ssh$ ./foo.sh
      mount -cifs //192.168.1.1/binaire
      mount -nfs 132.456.555.555:/toto
      mount -cifs //123.456.789/voila
      mount -nfs 124.765.677.677:/commeca
      
      jp@MDK:~/tmpfs ssh$

      ;-))
      1. mais j'aurai besoin de toute la ligne pas seleument du share par exemple

        on aurait au final mount -cifs //192.168.1.1/binaire quand c est un cifs et
        mount -nfs 132.456.555.555:/toto car je dois monter les partages
        merci je vais chercher de mon coté aussi!
        1. Modérateur
          Salut,

          Et comme ça, ce n'est pas plus simple :

          jp@MDK:~/tmpfs ssh$ cat try
          //192.168.1.1/binaire; date 1 ; date 2
          132.456.555.555:/toto; date 1; date 2
          //123.456.789/voila; date 1; date 2
          124.765.677.677:/commeca; date 1 ; date 2
          
          jp@MDK:~/tmpfs ssh$ cat foo.sh
          #! /bin/sh
          
          #set -xv
          
          while read line
          do
          grep -q '^/' <<<${line}
          if [ "$?" = 0 ]
          then
          var=$(awk -F '[/;]' '{ print $4 }' <<<${line})
          echo "${var} = Partage CIF"
          else
          var=$(awk -F '[/;]' '{ print $2 }' <<<${line})
          echo "${var} = Paratge NFS"
          fi
          done < try
          
          jp@MDK:~/tmpfs ssh$ ./foo.sh
          binaire = Partage CIF
          toto = Paratge NFS
          voila = Partage CIF
          commeca = Paratge NFS
          
          jp@MDK:~/tmpfs ssh$

          ;-))