Eu tenho a seguinte dúvida. Em um tutorial relacionado a uma instalação de software que estou seguindo, diga que tenho que executar os seguintes comandos (estou fazendo isso em um shell ssh , portanto, esta lista de etapas termina com o 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
Minhas dúvidas são:
O que exatamente o -s
parâmetro faz após o sudo
comando?
Pesquisando na web, descobri que:
–S [comando] A opção –s (shell) executa o shell especificado pela variável de ambiente SHELL se estiver definido ou o shell conforme especificado no banco de dados de senhas. Se um comando for especificado, ele será passado para o shell para execução através da opção –c do shell. Se nenhum comando for especificado, um shell interativo será executado
Parece-me que sudo -s
executar um comando usando a variável de ambiente do shell.
Mas isso não está claro para mim: nesse caso, qual é o comando executado com a variável de ambiente? (apenas executa sudo -s
e não sudo -s [command]
).
fonte
sudo
é para isso que geralmente é; executando um comando como root sem precisar efetuar login manualmente como root.sudo -s
é drasticamente diferente por causa do meu conhecimento limitado e da situação por acidente. Ainda assim, você pode ler minha resposta "humilde" e possivelmente atualizar sua resposta de meia década.sudo -s
executará um comando no diretório atual como um usuário comum faria. Por exemplo:É claro que usar em
-s
vez de prefixar o comando./
pode não poupar muito tempo.fonte