ฉันพยายามเขียนสคริปต์ที่ฉันต้องการตรวจสอบว่าพารามิเตอร์ใด ๆ ที่ส่งผ่านไปยังสคริปต์ทุบตีตรงกับสตริง วิธีที่ฉันตั้งค่าตอนนี้ก็คือ
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
แต่อาจมีพารามิเตอร์จำนวนมากดังนั้นฉันสงสัยว่ามีวิธีที่ดีกว่าในการทำเช่นนี้หรือไม่
ขอบคุณ
แก้ไข: ฉันลองใช้โค๊ดของโค้ดนี้และเรียกสคริปต์ด้วยตัวเลือก -disableVenusBld แต่มันก็ยังพิมพ์ "เริ่มต้นบิลด์" ฉันกำลังทำอะไรผิดหรือเปล่า? ขอบคุณล่วงหน้า!
while [ $# -ne 0 ]
do
arg="$1"
case "$arg" in
-disableVenusBld)
disableVenusBld=true
;;
-disableCopperBld)
disableCopperBld=true
;;
-disableTest)
disableTest=true
;;
-disableUpdate)
disableUpdate=true
;;
*)
nothing="true"
;;
esac
shift
done
if [ "$disableVenusBld" != true ]; then
echo "Starting build"
fi
#! /bin/sh -
ในส่วนบนสุดของสิ่งที่คุณรวมไว้แล้วทำให้สคริปต์ทำงานได้จากนั้น./t.sh
พิมพ์ "เริ่มสร้าง" แต่./t.sh -disableVenusBld
ไม่พิมพ์อะไรเลย