Я получил скрипт оболочки «hhighlighter» от https://github.com/paoloantinori/hhighlighter, который окрашивает все, что вы хотите в stdout. Я следовал инструкциям по установке ack-grep, создал псевдоним для ack = ack-grep в ~/.bashrc, поместил функцию h() в ~/.bashrc, все отлично работает при наборе в терминале. Но при помещении ТОЧНЫХ команд в скрипт bash, он говорит, что команда не найдена. Я приведу примеры здесь ...
root@kali:~# echo "abcd" | h a b c d
abcd
Вот как выглядит мой сценарий
#!/bin/bash
echo "abcd" | h a b c d
Точно так же, как команда, набранная в, но вот вывод при запуске скрипта
root@kali:~# ./test.sh
./test.sh: line 1: h: command not found
Как это может работать при наборе текста непосредственно в терминале, но не при наличии точно такой же команды в скрипте bash?