일부 C 코드를 올바르게 컴파일하려면 특정 파일을 찾을 수 있도록 폴더를 내보내야 합니다.
명령줄에서 처음 실행하면
export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH
그러면 C 코드 실행 파일이 작동합니다. 을 내보내지 않으면 LD_LIBRARY_PATH
C 패키지가 필요한 파일을 찾을 수 없기 때문에 실행 파일이 실패합니다.
exectuable: error while loading shared libraries: file1.so: cannot open shared object file: No such file or directory
이제 bash 스크립트를 통해 이 코드를 실행하고 싶습니다. 이것은 내 bash 스크립트입니다 run_stuff.sh
.
#!/bin/bash
source ~/.bash_profile
export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH
path/to/executable/executable
위 오류로 인해 이 작업이 실패합니다. 나는 그 이후로 시도했다
echo "export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH"
내가 추가 한 bash 스크립트에서
export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH
이내에 ~/.bash_profile
. 여전히 작동하지 않습니다. C 코드가 파일을 찾을 수 없습니다.
bash 스크립트에서 폴더를 올바르게 내보내는 방법은 무엇입니까?
답변1
1
국내로 내보낼 수 있습니다.
#!/bin/bash
LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH path/to/executable/executable
사용은 프로세스에 대한 VAR을 설정하고 내보냅니다 VAR=value cmd
.cmd
2
두 단계로 내보내기
#!/bin/bash
LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
path/to/executable/executable
이것이 제가 대본에서 한 방법입니다. (이것은 매뉴얼 페이지의 내용과 모순됩니다.)
내보내기 [-fn] [이름[=단어]] ...
변수 이름 뒤에 =word가 오면 변수 값은 word로 설정됩니다.