Я намагаюся написати сценарій, де я хочу перевірити, чи будь-який з параметрів, переданих bash-скрипту, відповідає рядку. Зараз у мене це налаштування
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
але може бути велика кількість параметрів, тому мені було цікаво, чи є кращий спосіб зробити це?
Дякую
EDIT: Я спробував цей фрагмент коду і назвав скрипт з опцією -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
нічого не друкує.