'hhighlighter' script invocador dizendo comando não encontrado [fechado]

0

Eu obtive o script wrapper 'hhighlighter' de link que colore qualquer coisa que você queira em stdout. Eu segui as instruções sobre a instalação do ack-grep, criei o alias para ack = ack-grep em ~ / .bashrc, coloquei a função h () em ~ / .bashrc, tudo funciona bem ao digitar no terminal. Mas ao colocar os mesmos comandos EXATOS em um script bash, ele diz que o comando não foi encontrado. Vou dar exemplos aqui ...

root@kali:~# echo "abcd" | h a b c d
abcd

Aqui está o meu script

#!/bin/bash  
echo "abcd" | h a b c d

Exatamente como o comando digitado, mas aqui está a saída ao executar o script

root@kali:~# ./test.sh
./test.sh: line 1: h: command not found

Como isso funcionaria ao digitar diretamente no terminal, mas não ao ter exatamente o mesmo comando em um script bash?

    
por Will Hughes 25.11.2014 / 01:27

2 respostas

1

A solução que me ajudou foi forçar o script a ser executado no modo interativo com um #!/bin/bash -i header.

O avançado guia de script de script adverte sobre as consequências estranhas:

Be aware that this can cause erratic script behavior or show error messages even when no error is present.

No entanto, eu não observei nada assim.

    
por 21.04.2016 / 10:04
0

~/.bashrc é lido apenas durante a inicialização de uma sessão bash interativa.

Se você quiser que seja sempre lido, coloque o nome na variável de ambiente BASH_ENV :

export BASH_ENV=$HOME/.bashrc
    
por 26.11.2014 / 10:22