Я использовал для выполнения команды:
sudo -u elasticsearch -s "ulimit -Hn"
и он возвращал значение ulimit -Hn, как его видел пользовательasticsearch, пока я не попробовал его в Ubuntu 11.10. Там это возвращается:
/bin/bash: ulimit -Hn: command not found
Я пробовал несколько разных команд, и когда я использую аргумент, я всегда получаю «команда не найдена»:
$ sudo -u elasticsearch -s "ls all.sh"
/bin/bash: ls all.sh: command not found
Любые идеи о том, как я могу выполнить команду, которая требует аргументов до конца sudo?
-s? Просто держите обычную оболочку и используйте ее для выполнения команд. Такие какsudo -u elasticsearch ls all.sh. Еслиelasticsearchимеет непригодную оболочку по умолчанию, используйте-s bashперед фактической командой.