É claro que você pode adicionar projectRootDirectory ao seu $PATH , mas isso tem pelo menos dois inconvenientes:
-
Parece que, da maneira como você está descrevendo, esse projeto em particular não organiza bem o projeto nos subdiretórios
binelibda seguinte forma:projectRootDirectory ├ bin │ └ programBinary └ lib ├ someLibrary └ someLibrary2portanto, você seria forçado a colocar
projectRootDirectoryem$PATHe, como isso contém outras coisas além dos binários destinados à execução, é um pouco feio. -
Se você tiver muitos projetos semelhantes, o conteúdo do seu
$PATHirá proliferar fora de controle.
Em vez disso, a coisa mais simples que você provavelmente pode fazer neste caso em particular é colocar um executável do wrapper em /usr/local/bin , que é um script de shell muito simples que apenas executa o programa "real" do local onde ele vive. / p>
#!/bin/sh
exec projectRootDirectory/programBinary "$@"
Como o script wrapper está chamando-o com seu nome de caminho completo, ele provavelmente conseguirá localizar seus arquivos auxiliares da maneira que normalmente faz.