ZSH Prompt printing '[m' вместо '%'

Вам необходимо очистить кэш DNS. Согласно этой статье , вы можете сделать это, перезапустив следующие службы:

  • nscd
  • dnsmasq
  • с именем

0
18.10.2018, 05:20
2 ответа

Наконец, инкапсуляция команды composer внутри блока документации здесь -помогла мне

#!/bin/sh

su nginx -s /bin/sh <<EOF
composer-call "$@"
EOF

Я использую приведенный ниже код для программного создания вышеуказанного скрипта-оболочки.:)

printf '%s\n' "#!/bin/sh" "su nginx -s /bin/sh <<EOF" "composer-call \$@" "EOF" > /usr/local/bin/composer

Помимо этого su -exec также является хорошей альтернативой. Это жестяная программа, которую можно установить какapk add su-exec

-1
28.01.2020, 05:05

Используйте --для разделения команды целевого пользователя, чтобы suне пытался анализировать дополнительные аргументы:

#composer.sh
su nginx -- composer-call "${@}" 

например:

composer.sh пользователя1:

#!/bin/sh
set -x
su otheruser -- /home/otheruser/composer-call "$@"

/home/otheruser/composer -вызов:

#!/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
1
28.01.2020, 05:05

Теги

Похожие вопросы