Avec 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 y a un million de façons de le faire, mais j'aimerais savoir si le conditionnel peut être annulé d'une manière ou d'une autre, comme dans (erroné):
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
Merci!