Tôi đang cố gắng viết một tập lệnh mà tôi muốn kiểm tra xem có bất kỳ tham số nào được truyền cho tập lệnh bash khớp với một chuỗi không. Cách tôi thiết lập ngay bây giờ là
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
nhưng có thể có một số lượng lớn các tham số, vì vậy tôi đã tự hỏi liệu có cách nào tốt hơn để làm điều này không?
Cảm ơn
EDIT: Tôi đã thử đoạn mã này và gọi kịch bản với tùy chọn, -disableVenusBld, nhưng nó vẫn in ra "Bắt đầu xây dựng". Tôi có làm điều gì sai? Cảm ơn trước!
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 -
đầu những gì bạn đã đưa vào đó, làm cho tập lệnh có thể thực thi được, sau đó ./t.sh
in "Bắt đầu xây dựng", nhưng ./t.sh -disableVenusBld
không in gì cả.