Пример: однажды add-apt-repository
процесс завершился, сразу работал apt-get update
- не имея необходимость вводить команду вручную.
Существует ли способ сделать это? Действительно ли возможно установить такую комбинацию без использования sudo
пароль? (хотя я не возражаю так или иначе),
Я спрашиваю следующее: Как я могу соединить две команды, так, чтобы каждый раз, когда я выполняю конкретную команду, она всегда выполнила связанную команду после него?
Существуют различные проблемы, сцепляющиеся в это с псевдонимом или простой функцией удара, но можно записать немного обертки для команды и засунуть ее в /usr/local/bin
, который берет приоритет в пути.
Это мало приема для создания сценария и chmod это одновременно .
Это выведет исполняемый сценарий обертки в /usr/local/bin/add-apt-repository
.
sudo install -b -m 755 /dev/stdin /usr/local/bin/add-apt-repository << 'EOF'
#!/bin/sh
/usr/bin/add-apt-repository "$@"
apt-get update
EOF
Для инвертирования этого просто удалите /usr/local/bin/add-apt-repository
.
, Если Вы хотите сделать что-то более фруктовое (как соединение apt-get install
и apt-get update
, таким образом, Вы всегда обновляете прежде, чем установить), мы просто должны развернуть сценарий для рассмотрения аргументов.
sudo install -b -m 755 /dev/stdin /usr/local/bin/apt-get << 'EOF'
#!/bin/sh
if [ "$1" = "install" ] ; then
/usr/bin/apt-get update
fi
/usr/bin/apt-get "$@"
EOF
, Хотя полагают, что это выполнит обновление прежде каждый apt-get install
вызов. Это могло бы звучать полезным, но могло быть действительно утомительно на практике.
Как обычно,
sudo bash -c "command1; command2"
, Если Вы хотите выполнить command2 только после того, как command1 успешно завершается, можно использовать в качестве &&
, а не ;
.
sudo bash -c "command1 && command2"
я буду использовать следующую команду для Вашего примера.
sudo bash -c "add-apt-repository <repo> && apt-get update"
Выполнить определенные команды в конкретных сценариях оболочки последовательности используется. Все, что необходимо сделать, - Открывают терминал путем нажатия Ctrl + Высокий звук + T И выполняют шаги -
1. Тип gedit filename.sh
2. После ввода этой команды откроется текстовый редактор, где можно ввести необходимые команды один на каждой строке. Например,
sudo add-apt-repository
apt-get update
3. После ввода всех команд сохраните и выйдите или при помощи GUI или при помощи нажатия из Ctrl + S и Ctrl + Q .
4. Теперь Вы возвратитесь назад к терминалу. Выполненный sh filename.sh
на терминале и Ваших командах выполнится, если нет никакой ошибки в Ваших командах.
кроме того, если Вы входите в систему из учетной записи суперпользователя (корень), Вы не будете иметь к типу sudo
в Вашей команде.
Самый легкий способ сделать это состоит в том, чтобы работать:
sudo add-apt-repository <ppa_name> && sudo apt-get update
, Если первая команда закончена успешно, второе будет выполнено.