Problème syntaxe test composé
Ttben
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous !
J'ai un problème de validité de test. Au coeur d'un script bash, j'ai un test qui à pour but de determiner si des adresses ont été donné en chemin absolus ou chemin relatif.
On possède deux adresses à tester, "source" et "cible".
Voila le test :
# si la source commence par "~" ou par "/home" ET A LA FOIS que la cible commence par "~" ou par "/home", alors on poursuit ; sinon on sort.
Voila les résultats :
cible et source en absolue : ça passe (ok) ;
cible en relatif : ça passe pas (ok) ;
cible ET source en relatif : ça passe pas (ok) ;
source en relatif : ça passe ( => PROBLEME)
Mon test ne devrait pas passer si la source est en relatif. Je crois savoir qu'il y a priorité sur le AND du test, donc je comprend POURQUOI il passe le test ;
je ne connais pas la syntaxe exact à adopter en bash pour faire en sorte de donner la priorité aux "OR" ;
j'ai essayé les parenthèses etc ... sans succès.
Pourriez vous m'aider s'il vous plait ?
Merci d'avance ! =)
J'ai un problème de validité de test. Au coeur d'un script bash, j'ai un test qui à pour but de determiner si des adresses ont été donné en chemin absolus ou chemin relatif.
On possède deux adresses à tester, "source" et "cible".
Voila le test :
if [ $(expr index "$source" 1\~)=1 -o $(expr index "$source" 1\/home)=1 -a $(expr index "$cible" 1\~)=1 -o $(expr index "$cible" 1\/home)=1 ] ; then
# si la source commence par "~" ou par "/home" ET A LA FOIS que la cible commence par "~" ou par "/home", alors on poursuit ; sinon on sort.
Voila les résultats :
cible et source en absolue : ça passe (ok) ;
cible en relatif : ça passe pas (ok) ;
cible ET source en relatif : ça passe pas (ok) ;
source en relatif : ça passe ( => PROBLEME)
Mon test ne devrait pas passer si la source est en relatif. Je crois savoir qu'il y a priorité sur le AND du test, donc je comprend POURQUOI il passe le test ;
je ne connais pas la syntaxe exact à adopter en bash pour faire en sorte de donner la priorité aux "OR" ;
j'ai essayé les parenthèses etc ... sans succès.
Pourriez vous m'aider s'il vous plait ?
Merci d'avance ! =)
A voir également:
- Problème syntaxe test composé
- Test performance pc - Guide
- Test composant pc - Guide
- Test steam deck oled - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test batterie pc - Guide