Управление вводом терминала

Есть ли способ манипулировать вводом терминала до его выполнения? Пример:

apt-get update введено в терминал. Теперь я хочу изменить его на sudo apt-get update до его выполнения.

Что я пробовал:

Я думал о возможности выполнить сценарий, который затем будет выполнять введенную команду с управляемым вводом, но я не нашел способа запустить этот сценарий, пока должна выполняться другая программа.

Я ценю каждый ответ. Я использую Linux Mint Serena.

Пояснение:

Каждый раз, когда вызывается команда, должен быть скрипт или что-то еще, работающее в фоновом режиме, и проверять, соответствует ли он шаблону. Если нет, выполните ввод, а если да, то манипулируйте этой командой и выполните -> Вот почему мой пример с apt-get update до sudo apt-get update . Единственное, что я могу понять, это то, как этот сценарий получит эту команду до того, как она будет выполнена.

Возможные цели:

  • При попытке доступа к определенному файлу / каталогу запрос пароля

  • Создание ярлыков ( cd _1 будет изменен на cd ~ / Desktop )

-2
28.07.2017, 13:29
1 ответ

Э-э, что-то совершенно новое для меня ():прочитать ответ по использованию PS4:как перехватывать каждую команду

Если только что проверили:

bash: PS4='$(echo $(date) $(history 1) >> /tmp/trace.txt) TRACE: '
bash: set -x
bash: date
 TRACE: date
Fr 28. Jul 14:13:24 CEST 2017

Как описано в ответе выше, PS4 ... оценивается для каждой выполняемой команды... . Таким образом, если вы замените это, чтобы передать любую из ваших команд через вашу оболочку и подтвердить ее выполнение, таким образом вы сможете перехватить любую из ваших команд.

1
28.01.2020, 05:14

Теги

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