У меня есть следующие сомнения. В учебном пособии по установке программного обеспечения, которое я следую, говорится, что я должен выполнить следующие команды (я делаю это в оболочке ssh , поэтому этот список шагов заканчивается exit
командой):
sudo -s
apt-get update
apt-get install -y build-essential libtool libcurl4-openssl-dev libncurses5-dev libudev-dev autoconf automake screen
exit
Мои сомнения:
Что именно делает -s
параметр после sudo
команды?
Поиск в сети, я обнаружил, что:
‑S [команда] Опция ‑s (shell) запускает оболочку, указанную в переменной среды SHELL, если она установлена, или оболочку, указанную в базе данных паролей. Если указана команда, она передается в оболочку для выполнения через параметр оболочки ‑c. Если команда не указана, выполняется интерактивная оболочка
Мне кажется, что sudo -s
выполнить команду, используя переменную окружения оболочки.
Но для меня это не ясно: в каком случае команда выполняется с переменной среды? (это только выполняет, sudo -s
а не sudo -s [command]
).
источник
sudo
обычно для; Выполнение команды от имени пользователя root без необходимости вручную входить в систему как пользователь root.sudo -s
кардинально отличается от моих ограниченных знаний и случайных ситуаций. Тем не менее, вы, возможно, захотите прочитать мой «скромный» ответ и, возможно, освежить свой 1/2-летний ответ.sudo -s
выполнит команду в текущем каталоге, как обычный пользователь. Например:Конечно, использование
-s
вместо префикса команды./
не может быть очень выгодно для экономии времени.источник