Mit GNU bash (Version 4.0.35 (1) -release (x86_64-suse-linux-gnu) möchte ich einen Test mit regulären Ausdrücken negieren. Zum Beispiel möchte ich der PATH-Variablen bedingt einen Pfad hinzufügen. wenn der Pfad noch nicht vorhanden ist, wie in:
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
Ich bin mir sicher, dass es eine Million Möglichkeiten gibt, dies zu tun, aber ich würde gerne wissen, ob die Bedingung irgendwie negiert werden kann, wie in (dem Irrtum):
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