การใช้ GNU bash (รุ่น 4.0.35 (1) - ปล่อย (x86_64-suse-linux-gnu) ฉันต้องการที่จะปฏิเสธการทดสอบด้วยนิพจน์ทั่วไปตัวอย่างเช่นฉันต้องการเพิ่มเส้นทางไปยังตัวแปร PATH อย่างมีเงื่อนไข หากเส้นทางยังไม่ได้มีเช่นใน:
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
ฉันแน่ใจว่ามีหลายล้านวิธีในการทำเช่นนี้ แต่สิ่งที่ฉันอยากรู้คือถ้าเงื่อนไขสามารถถูกทำให้ยุ่งเหยิงอย่างใดเช่นเดียวกับใน (ผิดพลาด):
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