Как автоматически выполнять команду каждый раз, когда определенная команда завершается?

Пример: Как только процесс add-apt-repository завершился, немедленно запустите apt-get update - без необходимости вводить команду вручную.

Есть ли способ сделать это? Можно ли установить такую ​​комбинацию без использования пароля sudo? (хотя я не против в любом случае)

Я спрашиваю следующее: как я могу связать две команды вместе, так что всякий раз, когда я выполняю определенную команду, она всегда выполняет связанную команду после нее ?

1
задан 25 November 2015 в 15:29

3 ответа

Как обычно,

sudo bash -c "command1; command2"

Если вы хотите запустить команду2 только после успешного завершения команды 1, вы можете использовать ее как &&, а не ;.

sudo bash -c "command1 && command2"

Я буду использовать следующую команду для вашего примера.

sudo bash -c "add-apt-repository <repo> && apt-get update"
4
ответ дан 23 May 2018 в 15:30

Для выполнения определенных команд в конкретной оболочке оболочки используется сценарий. Все, что вам нужно сделать - открыть терминал, нажав Ctrl + Alt + T и выполнить шаги - 1. Введите gedit filename.sh 2. После ввода этой команды откроется текстовый редактор, в котором вы можете ввести необходимые команды по одному на каждую строку , Например, sudo add-apt-repository apt-get update 3. После ввода всех команд сохраните и выйдите с помощью GUI или нажмите Ctrl + S и Ctrl + Q. 4. Теперь вы вернетесь обратно в терминал. Запустите sh filename.sh на терминале, и ваши команды будут выполнены, если в ваших командах не будет ошибок. Кроме того, если вы входите в систему с учетной записи суперпользователя (root), вам не нужно будет вводить sudo в вашей команде.

1
ответ дан 23 May 2018 в 15:30
  • 1
    Вы читали какие-либо другие ответы и комментарии? – Jacob Vlijm 25 November 2015 в 16:40
  • 2
    @JacobVlijm Да, я это сделал. Но я думаю, они были довольно сложными. – Prachi 25 November 2015 в 16:46

Самый простой способ сделать это:

sudo add-apt-repository <ppa_name> && sudo apt-get update

Если первая команда завершена успешно, вторая будет запущена.

0
ответ дан 23 May 2018 в 15:30

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

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