echo $password | sudo -S apt-get install -y foo bar
Это немного опасно.Если пользователь уже аутентифицирован в sudo, sudo не будет запрашивать пароль снова, и он будет перенаправлен в apt-get, что может привести к странным результатам (например, если скрипт postinstall задает вопрос).Вместо этого я бы предложил использовать
sudo -k # remove previous sudo timestamp
echo $password | sudo -v -S # create a new one for 15 minutes
sudo apt-get ... # execute the command
.
РЕДАКТИРОВАТЬ: Дирк прав, что пароль виден очень короткое время, пока выполняется echo
.Пожалуйста, смотрите мой ответ как расширенный комментарий, а не как ответ на ваш вопрос.