J'ai le doute suivant. Dans un tutoriel lié à une installation logicielle que je suis, disons que je dois exécuter les commandes suivantes (je le fais dans un shell ssh , donc cette liste d'étapes se termine par la exit
commande):
sudo -s
apt-get update
apt-get install -y build-essential libtool libcurl4-openssl-dev libncurses5-dev libudev-dev autoconf automake screen
exit
Mes doutes sont:
Que fait exactement le -s
paramètre après la sudo
commande?
En recherchant sur le web, j'ai trouvé que:
‑S [commande] L'option ‑s (shell) exécute le shell spécifié par la variable d'environnement SHELL s'il est défini ou le shell comme spécifié dans la base de données de mots de passe. Si une commande est spécifiée, elle est transmise au shell pour exécution via l'option ‑c du shell. Si aucune commande n'est spécifiée, un shell interactif est exécuté
Il me semble que l'on sudo -s
exécute une commande en utilisant la variable d'environnement du shell.
Mais ce n'est pas clair pour moi: dans ce cas quelle est la commande exécutée avec la variable d'environnement? (il s'exécute uniquement sudo -s
et non sudo -s [command]
).
la source
sudo
sert généralement; exécuter une commande en tant que root sans avoir à vous connecter manuellement en tant que root.sudo -s
est radicalement différent en raison de mes connaissances limitées et se produisant dans la situation par accident. Vous voudrez peut-être encore lire ma "humble" réponse et éventuellement rafraîchir votre réponse vieille de 1/2 décennie.sudo -s
exécutera une commande dans le répertoire courant comme le ferait un utilisateur normal. Par exemple:Bien sûr, utiliser
-s
au lieu de préfixer la commande avec./
peut ne pas être un si grand gain de temps.la source