Bash 스크립트에서 경로를 성공적으로 내보낼 수 없는 이유는 무엇입니까?

Bash 스크립트에서 경로를 성공적으로 내보낼 수 없는 이유는 무엇입니까?

일부 C 코드를 올바르게 컴파일하려면 특정 파일을 찾을 수 있도록 폴더를 내보내야 합니다.

명령줄에서 처음 실행하면

export LD_LIBRARY_PATH=/bin/path../version/:$LD_LIBRARY_PATH

그러면 C 코드 실행 파일이 작동합니다. 을 내보내지 않으면 LD_LIBRARY_PATHC 패키지가 필요한 파일을 찾을 수 없기 때문에 실행 파일이 실패합니다.

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로 설정됩니다.

관련 정보