Якщо ви надасте подвійний дефіс, досвід у вас буде ідентичним, якби ви щойно виконали sudo suбез дефісу.
Проходження одного дефіса ідентичне проходженню -lабо --login. Сторінка man suописує поведінку як:
Укажіть середовище, аналогічне тому, що очікував би користувач, якщо користувач увійде безпосередньо.
Сюди входить встановлення вашого каталогу в домашній каталог та встановлення купи інших змінних середовища.
Передача подвійного дефісу команді зазвичай використовується для позначення кінця прапорів командного рядка та початку аргументів не прапорця. Наприклад, якщо ви запустите, touch -Rви отримаєте помилку про те, що -R не є варіантом touch, але якщо ви запустите, touch -- -Rвін створить файл з назвою -R. Це стосується багатьох інструментів командного рядка ( ls -Rбуде робити рекурсивний режим, lsтоді як ls -- -Rбуде виконуватись lsу файлі чи каталозі з іменем -R.
Отже, щоб завершити це, коли ви переходите лише -- до suнього, це в основному ігнорувати --та діяти так, як ви взагалі не пройшли жодного варіанту.
sudo su -іsudo su -lвідрізняється. На рахунку де я SSH в тільки ключі, і у мене є права на зміну SUDO до конкретного іншому користувачеві,sudo su -змінює користувач без проблем , алеsudo su -lіsudo su --loginбуде запитувати пароль SUDO, який у мене немає (хоча, розглядаючиsudo -lI міг виконати за/bin/suдопомогою NOPASSWD)