Сценарий Bash для «apt-get update» с автоматическим вставкой пароля [duplicate]

Этот вопрос уже имеет ответ здесь: Как избежать запроса пароля для sudo? [duplicate] 6 ответов

Я хочу запустить скрипт оболочки, sudo apt-get update, автоматически вставить пароль для sudo и автоматически нажать клавишу ввода.

Я пробовал:

#!/bin/bash
sudo apt-get update
expect "[sudo] password for username: "
send "password"
1
задан 4 March 2017 в 16:21

1 ответ

У вас есть правильная идея, использование expect - правильный инструмент. Однако ваш синтаксис неверен. Попробуйте следующее:

#!/bin/bash

#some instructions ....

#the <<-EOD ... EOD syntax is called a "heredoc" and allows to send multiple instructions to a command
expect <<-EOD
    #process we monitor
    spawn sudo apt-get update
    #when the monitored process displays the string "[sudo] password for username:" ...
    expect "[sudo] password for username:"
    #... we send it the string "password" followed by the enter key ("\r") 
    send "password\r"
#we exit our expect block
EOD
1
ответ дан 23 May 2018 в 01:00

Другие вопросы по тегам:

Похожие вопросы: