Bonjour
je cherche a recuperer le debut d'un parametre .
En fait tout ce qui se trouve avant le caractere "="
si quun sait faire ca ?
Bonjour
je cherche a recuperer le debut d'un parametre .
En fait tout ce qui se trouve avant le caractere "="
si quun sait faire ca ?
Pour extraire ce qui est à gauche et à droite du signe = dans le paramètre 1 du script:Envoyé par tchoukapi
Référence : man sh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 gauche=${1%=*} droite=${1#*=}
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
C'est bien ce que je recherche mais en fait
je recois un parametre que je met dans une variable :
le parametre est de la forme tribu=315656 par exemple ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2MESSAGE = ${1}
bien erreur = CGS54
et je voudrais que ce parametre ne commence que par :
sinon je renvoi une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 tribu= lot= erreur= marche=
Il suffit de remplacer 1 par MESSAGEEnvoyé par tchoukapi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gauche=${MESSAGE%=*} droite=${MESSAGE#*=}Avec un caseEnvoyé par tchoukapi
Référence : man sh Quand tu seras arrivé au bout, tu auras déjà 50% de la programmation shell entre les mains
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 case ${gauche} in tribu|lot|erreur|marche) traitement... ;; *) echo "erreur..." ;; esac
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
autre référence, moins austère : advanced BASH scripting guide
@al1_24: T'aurai pas oublié d'ouvrir la parenthèse dans le case?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 case ${gauche} in (tribu|lot|erreur|marche) traitement... ;; *) echo "erreur..." ;; esac
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
Installation de Code::Blocks sous Debian à partir de Nightly Builds
impec ca marche nickel merci a tous
Seulement j'aurais une autre requete dans le case je voudrais faire un traitement si le c'est une chaine vide
genre ca (mais ca marche pas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 case ${gauche} in tribu|lot|erreur|marche|"") traitement... ;; *) echo "erreur..." ;; esac
Partager