Para obter algum código C para compilar corretamente, eu preciso exportar uma pasta para que determinado arquivo seja encontrado.
Na linha de comando, se eu executar pela primeira vez
export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH
e, em seguida, o executável do código C funciona. Se eu não exportar LD_LIBRARY_PATH , o executável falhará, pois o pacote C não consegue encontrar o arquivo necessário, ou seja,
exectuable: error while loading shared libraries: file1.so: cannot open shared object file: No such file or directory
Gostaria agora de executar este código através de um script bash. Aqui está meu script bash, run_stuff.sh :
#!/bin/bash
source ~/.bash_profile
export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH
path/to/executable/executable
Isso falha, com o erro acima. Eu já tentei
echo "export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH"
dentro do script bash e eu adicionei
export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH
dentro de ~/.bash_profile . Ainda não funciona - o código C não consegue encontrar este arquivo.
Como exportar corretamente uma pasta dentro de um script bash?