
Estou tentando executar um script bash simples que usa wc
e cat
comandos. O script falha com isso:
wc: command not found
ou isto (depois que comentei a string que usa wc):
cat: command not found
Eu não tenho ideia do que está acontecendo. Um script semelhante que contém exatamente os mesmos fragmentos de código funciona perfeitamente. Ambos os scripts são usados nas mesmas condições. Além do mais,
machine:~ user$ which wc
/usr/bin/wc
e
machine:~ user$ which cat
/bin/cat
Responder1
Conforme apontado por @Tyson, a PATH
variável contém a resposta.
Eu só queria ressaltar que usar caminhos completos em seus scripts geralmente é considerado uma boa prática. Por exemplo, em vez de ligar, wc
você pode ligar para /usr/bin/wc
. Além de resolver o problema acima, é mais seguro, pois evita a execução de uma aplicação que alguém possa ter colocado no seu PATH usando o mesmo nome... Não me lembro o nome desses ataques, mas você entendeu=)