Kiedyś wykonywałem polecenie:
sudo -u elasticsearch -s "ulimit -Hn"
i zwracał wartość ulimit -Hn widzianą przez użytkownika elasticsearch, dopóki nie wypróbowałem go na Ubuntu 11.10. Tam zwraca:
/bin/bash: ulimit -Hn: command not found
Próbowałem kilku różnych poleceń, a kiedy używam argumentu, zawsze pojawia się komunikat „polecenie nie znaleziono”:
$ sudo -u elasticsearch -s "ls all.sh"
/bin/bash: ls all.sh: command not found
Jakieś pomysły na to, jak wykonać polecenie wymagające argumentów sudo
?
-s
? Po prostu zachowaj normalną powłokę i używaj jej do wykonywania poleceń. Takich jaksudo -u elasticsearch ls all.sh
. Jeślielasticsearch
ma domyślną powłokę, której nie można użyć, użyj jej-s bash
przed właściwym poleceniem.