Mam następujące wątpliwości. W samouczku związanym z instalacją oprogramowania, którą obserwuję, powiedz, że muszę wykonać następujące polecenia (robię to w powłoce ssh , więc ta lista kroków kończy się exit
poleceniem):
sudo -s
apt-get update
apt-get install -y build-essential libtool libcurl4-openssl-dev libncurses5-dev libudev-dev autoconf automake screen
exit
Moje wątpliwości to:
Co dokładnie robi -s
parametr po sudo
komendzie?
Podczas wyszukiwania w Internecie odkryłem, że:
‑S [polecenie] Opcja ‑s (powłoka) uruchamia powłokę określoną przez zmienną środowiskową SHELL, jeśli jest ustawiona, lub powłokę określoną w bazie danych haseł. Jeśli podano polecenie, jest ono przekazywane do powłoki w celu wykonania za pomocą opcji ‑c powłoki. Jeśli nie podano żadnego polecenia, wykonywana jest powłoka interaktywna
Wydaje mi się, że sudo -s
wykonać polecenie przy użyciu zmiennej środowiskowej powłoki.
Ale nie jest to dla mnie jasne: w tym przypadku jakie polecenie jest wykonywane ze zmienną środowiskową? (to tylko wykonuje, sudo -s
a nie sudo -s [command]
).
źródło
sudo
jest; uruchomienie polecenia jako root bez konieczności ręcznego logowania jako root.sudo -s
jest drastycznie różne z powodu mojej ograniczonej wiedzy i przypadkowego zdarzenia. Nadal możesz chcieć przeczytać moją „pokorną” odpowiedź i być może odświeżyć starą odpowiedź sprzed ponad dekady.sudo -s
uruchomi polecenie w bieżącym katalogu, tak jak zwykły użytkownik. Na przykład:Oczywiście użycie
-s
zamiast prefiksu polecenia./
może nie być świetną oszczędnością czasu.źródło