En utilisant GNU bash (version 4.0.35 (1) -release (x86_64-suse-linux-gnu), je voudrais annuler un test avec des expressions régulières. Par exemple, je voudrais ajouter conditionnellement un chemin à la variable PATH, si le chemin n'est pas déjà là, comme dans:
TEMP=/mnt/silo/bin
if [[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH; else PATH=$PATH:$TEMP; fi
TEMP=/mnt/silo/Scripts:
if [[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH; else PATH=$PATH:$TEMP; fi
TEMP=/mnt/silo/local/bin
if [[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH; else PATH=$PATH:$TEMP; fi
export PATH
Je suis sûr qu'il existe un million de façons de le faire, mais ce que j'aimerais savoir, c'est si le conditionnel peut être annulé d'une manière ou d'une autre, comme dans (l'erreur):
TEMP=/mnt/silo/bin
if ![[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH:$TEMP; fi
TEMP=/mnt/silo/Scripts:
if ![[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH:$TEMP; fi
TEMP=/mnt/silo/local/bin
if ![[ ${PATH} =~ ${TEMP} ]] ; then PATH=$PATH:$TEMP; fi
export PATH