Используйте --
для разделения команды целевого пользователя, чтобы su
не пытался анализировать дополнительные аргументы:
#composer.sh
su nginx -- composer-call "${@}"
например:
#!/bin/sh
set -x
su otheruser -- /home/otheruser/composer-call "$@"
#!/bin/sh
echo Hi, I am composer-call, with arguments:
printf '%s\n' "$@"
./composer.sh create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction
+ su otheruser -- /home/otheruser/composer-call create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction
Password:
Hi, I am composer-call, with arguments:
create-project
drupal-composer/drupal-project:8.x-dev
some-dir
--stability
dev
--no-interaction
Возможно, вы сможете решить эту проблему, отключив интерактивный интерфейс.:
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends xserver-xorg-core