Когда вы не приводите аргумент, вы даже не вводите for
l oop, поэтому ничего не происходит.
#!/usr/bin/env bash
# By default, use '--abort-on-container-exit' option
abort_or_detach="--abort-on-container-exit"
# Search for a parameter asking to run in detached mode
for arg in "$@"; do
if [ "$arg" = '-d' ] || [ "$arg" = '--detach' ]
then
abort_or_detach="--detach"
fi
done
# Run with the correct option
docker-compose -f docker-compose.local-environment.yml up --build -V $abort_or_detach
Здесь, в этом сценарии, вы вызываете один раз docker-compose
, и вы можете легко управлять опциями с помощью for
l oop
Кроме того, с первой попытки вы запустите docker-compose
столько раз, сколько у вас различных параметров. Здесь вы относитесь к ним, а затем делаете один запуск