Что означает переключатели и параметры этой команды?

exec su -s /bin/sh -c 'exec "$0" "$@"' root -- /opt/nsq/bin/nsqd

В частности -- часть и то, что exec "$0" "$@" должен делать.

Я знаю, что $0 устанавливает цикл для продолжения работы скрипта.

Вы можете игнорировать часть /opt/nsq/bin/nsqd . Это приложение, которое я запускаю.

1 ответ1

0
exec

Запущенная команда su заменяет оболочку без создания нового процесса.

sudo -s /bin/sh -c 

Заменяющий пользователь запускает указанную оболочку /bin /sh и выполняет следующую команду.

exec "$0" "$@"

Запустите команду $0 , имя скрипта, (ваша первая переменная, т.е. /opt/nsq/bin/nsqd )

"$@"

со всеми аргументами, используя соответствующие цитаты

--

Разделяет список опций. Все последующие, даже если они начинаются с гипса, считаются операндами. Например, sort -- -r читает файл с именем -r вместо попытки использовать -r в качестве опции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .