Você provavelmente quer fazer:
PATH=/root/test/IA:$PATH
em vez de
PATH=/root/test/IA
Para preservar sua variável PATH atual, mas dê os executáveis em / root / test / IA preferência sobre outros executáveis nomeados de forma semelhante no PATH atual.
Geralmente, considera-se a má prática usar caminhos completos para executáveis (ou seja, não usar o conceito PATH) em scripts, pois isso destrói a portabilidade dos scripts e, mais importante, impede que você sobrepondo os executáveis padrão de distribuição com os seus próprios. Por exemplo, a maioria das distros instala o wget em / usr / bin. Se você deseja instalar outra versão do wget em / usr / local / bin ou em ~ / .bin, sem remover o wget padrão distro, mas usar seu próprio wget no script, então você deve definir PATH = $ HOME / bin: / usr / local / bin: $ PATH. Esse uso do PATH é um recurso crítico se você fizer o desenvolvimento entre plataformas. Nesta situação você pode ter cinco diferentes toolchains do gcc instalados. Você não precisa ter cinco versões diferentes de um script de compilação, portanto, você depende do uso do PATH pelo shell para selecionar o conjunto de ferramentas correto.
Observe que, se você pretende executar esse script a partir do crontab, pode ser necessário incluir explicitamente os diretórios na variável PATH, pois o PATH padrão do cron inclui apenas alguns diretórios, como gregseth explica .