Есть ли способ изменить каждую команду, введенную в командной строке bash с помощью скрипта/крючка?Как изменить каждую команду bash перед выполнением?
В моем идеальном мире сценарий будет срабатывать после ввода пользователем команды, но ПЕРЕД нажатием клавиши Enter. Он получит командную строку в качестве параметра, модифицирует ее и передаст ее в bash для выполнения (так что все будет происходить прозрачно).
Я бы использовал этот крючок для некоторых подстановок, которые не могут быть выполнены с использованием псевдонимов, но, прежде всего, мне интересно, если это можно сделать.
Я знаю некоторые хаки, чтобы что-то сделать с последней командой после ее выполнения (trap 'function' DEBUG
и т. П.), Так как есть много вопросов относительно этого сценария, но здесь это не поможет.
Спасибо и с уважением!
Можете ли вы привести пример, почему это было бы полезно в вашей среде? Мне было бы неудобно, если бы кто-нибудь входил в мое приглашение, особенно если я не знаю, что произойдет с командой. –
@Barmar Это именно то, что я имел в виду. Конечно, невозможно сказать, когда пользователь собирается нажать клавишу Enter. –
@ AdrianFrühwirth Я абсолютно понимаю вашу точку зрения - я бы не хотел, чтобы кто-то сидел между тем, что я вхожу, и тем, что выполняется. Но поскольку я делаю это в своей оболочке, я могу жить с ней. –