Я рекомендовал бы читать Усовершенствованное Программирование в Среде Unix 2e для приобретения знаний много о Единственном стандарте Unix (SUS) API и POSIX, который даст Вам общее представление о том, что делает Unix Unix и как компоненты работают и сотрудничают.
Однако это очень C тяжелая книга и больше справочника. Если у Вас есть проблема с бессонницей, просто укладывают его в кровать с Вами. То, что в стороне, если Вы - Unix C программист, это - необходимая вещь.
Необходимо удалить двойные кавычки. Это пытается выполнить команду, названную "ulimit-Hn" как единственная команда, пробелы и так далее. -s
потребности быть последним sudo
опция на sudo
командная строка и весь после аргументов передаются $SHELL -c
выполниться.
sudo -u elasticsearch -s ulimit -Hn
Я предполагаю путь -s
обрабатывается изменился, поскольку текущий путь позволяет Вам передавать споры с пробелами к $SHELL
путем выхода из них на командной строке:
$ touch '/tmp/foo bar'
$ sudo -s rm '/tmp/foo bar'
Старый метод обработки аргумента разделил бы это '/tmp/foo bar'
аргумент в два, повреждая команду.