Programmation bash / script bash
Résolu
Dmouha
-
Dmouha -
Dmouha -
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
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
A voir également:
- Programmation bash / script bash
- Bingo bash free - Télécharger - Divers Jeux
- Script vidéo youtube - Guide
- Bash list ✓ - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
4 réponses
Salut,
Et comme ça, ce n'est pas plus simple :
;-))
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$
;-))
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!
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!
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$
;-))