Na verdade, existe uma maneira muito mais simples de fazer isso. Para portabilidade, esta é minha implementação, mas fique à vontade para manipulá-la para atender às suas necessidades.
Digite sua senha do sudo como parâmetro ao iniciar o script, capture-o e faça eco com cada comando que solicitará a senha do sudo.
#!/bin/bash
PW=$1
echo $PW | ./playback_delete_data_patch.sh 09_delete_old_data_p.sql
./command_wo_sudo.sh <param>
echo $PW | ./other_command_requires_sudo.sh <param>
Você pode adicionar um prompt e capturar após o script ser iniciado da seguinte maneira:
echo "enter the sudo password, please"
read PW
Mas se alguém monitorar o que é executado no nó; tem acesso aos logs criados por ele; ou está apenas examinando o seu deveria aleatoriamente quando você executa um teste, o que pode comprometer a segurança.
Isso também funciona com comandos / scripts em execução que requerem um sim para continuar:
echo $PW | yes | ./install.sh
O eco é uma resposta a um prompt, para que você possa usar tudo o que for necessário, se estiver executando outros scripts que solicitam progresso, em ordem seqüencial. Certifique-se de que você sabe que essa ordem pode acontecer ou coisas ruins.