Tengo la siguiente duda. En un tutorial relacionado con una instalación de software que estoy siguiendo, digo que tengo que ejecutar los siguientes comandos (lo estoy haciendo en un shell ssh , por lo que esta lista de pasos termina con el exit
comando):
sudo -s
apt-get update
apt-get install -y build-essential libtool libcurl4-openssl-dev libncurses5-dev libudev-dev autoconf automake screen
exit
Mis dudas son:
¿Qué hace exactamente el -s
parámetro después del sudo
comando?
Buscando en la web encontré que:
‑S [comando] La opción ‑s (shell) ejecuta el shell especificado por la variable de entorno SHELL si está configurado o el shell según lo especificado en la base de datos de contraseñas. Si se especifica un comando, se pasa al shell para su ejecución a través de la opción -c del shell. Si no se especifica ningún comando, se ejecuta un shell interactivo
Me parece que sudo -s
ejecuta un comando usando la variable de entorno del shell.
Pero esto no está claro para mí: en este caso, ¿cuál es el comando ejecutado con la variable de entorno? (solo se ejecuta sudo -s
y no sudo -s [command]
).
fuente
sudo
es generalmente; ejecutar un comando como root sin tener que iniciar sesión manualmente como root.sudo -s
es drásticamente diferente debido a mi conocimiento limitado y a que sucedió en la situación por accidente. Aún así, es posible que desee leer mi respuesta "humilde" y posiblemente actualizar su respuesta de 1/2 década de antigüedad.sudo -s
ejecutará un comando en el directorio actual como lo haría un usuario normal. Por ejemplo:Por supuesto, usar en
-s
lugar de prefijar el comando con./
puede no ser un gran ahorro de tiempo.fuente