Bonjour,

Je cherche a récupérer tout ce qui se trouve avec le caractère =
voici mes commandes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Server_linux1% echo "--commande=SNDMSG MSG(COUCOU) TOUSR(*SYSOPR)" | sed 's:^.*=\(.*\)$:\1:g'
SNDMSG MSG(COUCOU) TOUSR(*SYSOPR)
En ligne de commande cela fonctionne bien mais pas en script. Je comprends pas pourquoi :-(

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
#!/bin/sh
#set -x
commande1=$(echo "${1}" | sed "s:^.*=\(.*\)$:\1:g")
echo "$commande1"
commande2=$(echo "${2}" | sed "s:^.*=\(.*\)$:\1:g")
echo "$commande2"
exit
je lance le script avec ces paramètres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
./scripts_test.sh --com1=toto --com2=SNDMSG MSG(COUCOU) TOUSR(*SYSOPR)
il devrait m'afficher:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
toto
SNDMSG MSG(COUCOU) TOUSR(*SYSOPR)
Le but est que la 2eme champs quelque soit le contenu qui se trouve après --com2=
soit pris en compte dans la variable $commande2

Mais ça fonctionne pas :-(
quelqu'un peut il m'aider ?

Merci par avance