É 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
bin
elib
da seguinte forma:projectRootDirectory ├ bin │ └ programBinary └ lib ├ someLibrary └ someLibrary2
portanto, você seria forçado a colocar
projectRootDirectory
em$PATH
e, 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
$PATH
irá 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.