ฉันจะป้องกันไม่ให้ตัวเลือก 'shopt' ไม่สนับสนุนการทำให้เกิดข้อผิดพลาดใน. bashrc ของฉันได้อย่างไร
ฉันทำงานในสภาพแวดล้อมที่ค่อนข้างหลากหลายซึ่งฉันอาจใช้ Bash รุ่นต่างๆในโหนด HPC, VM หรือเวิร์กสเตชันส่วนตัวของฉัน เนื่องจากฉันใส่สคริปต์การเข้าสู่ระบบใน repo Git ฉันต้องการใช้ (ish) เดียวกัน.bashrcทั่วกระดานโดยไม่ต้อง "ถ้าโฮสต์นี้แล้ว ... " - ประเภทความยุ่งเหยิง ผมชอบการทำงานเริ่มต้นของการทุบตี≤ 4.1 ที่ขยายcd $SOMEPATHเข้าไปในcd /the/actual/pathเมื่อกดTabคีย์ ในทุบตี 4.2 และสูงกว่าที่คุณจะต้องshopt -s direxpandเปิดใช้งานลักษณะการทำงานนี้และที่ไม่ได้เป็นใช้ได้จนกว่า 4.2.29 นี่เป็นเพียงตัวอย่างเดียว shoptตัวเลือกอื่นที่เกี่ยวข้องอาจเป็นไปได้complete_fullquote(แม้ว่าฉันไม่ทราบว่าสิ่งที่มันทำ) อาจมีการเปลี่ยนแปลงพฤติกรรมเริ่มต้นที่ v4.2 แต่direxpandไม่ได้รับการยอมรับจากรุ่นก่อนหน้าทุบตีและถ้าผมพยายามที่จะshopt -s direxpandอยู่ในของฉัน.bashrcที่ส่งผลให้เกิดข้อผิดพลาดถูกพิมพ์ไปยังคอนโซลครั้งที่ผมเข้าสู่โหนดกับเก่าทุบตีทุก: -bash: shopt: direxpand: invalid shell option name สิ่งที่ฉันต้องการจะทำคือล้อมรอบเงื่อนไขshop -s direxpandเพื่อเปิดใช้งานตัวเลือกนั้นใน Bash> 4.1 อย่างแข็งแกร่งโดยไม่ต้อง chashing เวอร์ชันเก่าของ …