Мне нужна ваша помощь в понимании этого поведения sudo.поведение команды sudo с котировками
sudo -s -- 'ls -l'
Эта команда работает, но sudo 'ls -l'
бросает ошибку говоря sudo: ls -l: command not found
Я понимаю, что лечит всю строку в качестве цитаты одной команды (включая пробелы), но то, что я не получаю то, как это работает отлично с -s
флагом, но терпит неудачу когда -s
нет.
Вы можете написать 'sudo -" $ SHELL "-c 'ls -l'', чтобы избежать вашего предположения. –
'-s' специально не подходит для' SHELL', поэтому я должен был что-то принять, и дать ему конкретное значение было проще. – chepner
Ах, да - он держит ответ управляемо простым. Я снимаю свое предложение. –