Não é muito seguro, só para dizer que antes de dar a resposta, já que alguém poderia apenas abrir o arquivo e ver a senha, mas aqui está como:
Suponha que queremos executar o comando sudo shutdown -h 1
, mas não queremos digitar a senha. Nós faríamos assim:
echo PASSWORD | sudo -S shutdown -h1
Por exemplo, se minha senha fosse x , seria algo como isto:
echo x | sudo -S shutdown -h1
Outro exemplo é, se eu quisesse fazer uma atualização do apt-get, então atualize sem digitar nenhuma senha. Eu faria isso:
echo x | sudo -S apt-get update && sudo apt-get upgrade
O primeiro sudo (Aquele com o parâmetro -S) irá pegar a senha da entrada padrão, neste caso, o teclado no terminal. Em seguida, ele manterá a senha para a sessão de terminal restante. Como nesta sessão estou executando 2 comandos apt-get, um com atualização e outro com upgrade, não há necessidade de digitar a senha novamente para o segundo apt-get, já que a senha está ativa para a sessão em uso. Portanto, o resto dos comandos sudo não precisarão receber outra senha até que a sessão seja fechada (até você fechar o terminal ou o script usando a senha).