Я пытаюсь сделать пользовательское средство запуска для Каирского Прикрепления, которые при нажатии открывают окно терминала, и выполняется sudo apt-get update && sudo apt-get upgrade && sudo apt autoremove
по очереди.
До сих пор это - то, что я имею:
xterm -e sudo apt-get update && xterm -e sudo apt-get upgrade && xterm -e sudo apt autoremove
С этим, однако, я должен ввести свой длинный пароль три раза, потому что он открывает три отдельных окна терминала с каждой командой. Выполнение xterm -e sudo apt-get update && sudo apt-get upgrade && sudo apt autoremove
не работает, потому что это - три отдельных команды, и xterm не знает, что я хочу все после -e
выполняться в том же окне терминала.
Есть ли что-то другое, чем &&
это определило бы все это как одну команду, а не три? Я должен буду записать сценарий или что-то (у меня еще нет опыта вообще со сценариями)?
Я использую Terminix для выполнения исходной команды.
Просто необходимо добавить некоторые кавычки:
xterm -e "sudo apt-get update && sudo apt-get upgrade && sudo apt autoremove"
мне также нравится добавлять sudo apt clean
к моей остроте обновления, и я установил alias
в моем ~/.bash_aliases
файл для выполнения строки только с командой update
:
alias update='sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt clean'
Или если Вы хотите отдельное xterm
:
alias update='xterm -e "sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt clean"'
, Если Вы хотите, чтобы Ваш xterm
остался открытым после выполнения команд, добавьте ;bash
к концу цепочки команды или добавьте опцию -hold
прежде -e
.
Используйте команду этот путь:
xterm -e sudo bash -c "apt update && apt upgrade && apt autoremove"
с этим Вы только введете свой пароль однажды.