bash 셸: 스 크 립 트 에서 profile 파일 을 수정 하여 LD 업데이트LIBRARY_PATH 의 예시

5436 단어 script
프로젝트 가 완료 되면 Liux 에 설치 해 야 합 니 다. 설치 스 크 립 트 를 써 야 합 니 다. 프로필 파일 을 수정 하여 환경 변 수 를 수정 해 야 합 니 다.이 때 는 sed 편집기 에 사용 해 야 합 니 다.sed 편집 기 는 스 트림 편집기 (stream editor) 라 고 불 리 며 일반 대화 형 파일 편집기 와 는 반대 입 니 다.대화 형 편집기 (예 를 들 어 vim) 에 서 는 키보드 명령 으로 데이터 의 텍스트 를 대화 식 으로 삽입 하거나 삭제 하거나 교체 할 수 있 습 니 다.스 트림 편집 기 는 편집기 에서 데 이 터 를 처리 하기 전에 미리 제 공 된 규칙 에 따라 데이터 스 트림 을 편집 합 니 다.그래서 우 리 는 sed 편집 기 를 이용 하여 스 크 립 트 를 설치 하여 profflee 파일 에 대한 수정 을 실현 할 수 있 습 니 다.다음은 실제 응용 프로그램의 예 를 들 어 설명 하 겠 습 니 다. 저 는 CASSDK 라 는 프로젝트 가 있 습 니 다. 이 프로젝트 는 실행 가능 한 파일 이 없습니다. 동적 라 이브 러 리 파일 은 다른 프로그램 호출 (예 를 들 어 자바) 을 제공 합 니 다. 설치 스 크 립 트 를 써 야 합 니 다. 스 크 립 트 는 파일 을 지정 한 설치 디 렉 터 리 로 복사 한 다음 에 변 수 를 수정 하 는 것 입 니 다 LD_LIBRARY_PATH.자바 코드 가 JNI 라 이브 러 리 를 불 러 올 수 있 도록 설치 디 렉 터 리 를 LD_LIBRARY_PATH 변수 에 추가 합 니 다.또한 마 운 트 해제 스 크 립 트 를 써 서 설치 디 렉 터 리 를 삭제 한 후 profile 의 LD_LIBRARY_PATH 변 수 를 동시에 수정 해 야 합 니 다.
다음은 원본 프로필 스 크 립 트 세 션 입 니 다.
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export LD_LIBRARY_PATH=/usr/local/face/lib:$LD_LIBRARY_PATH

다음은 스 크 립 트 세 션 을 설치 하고 파일 끝 에 export 문 구 를 INSTALL. sh 추가 합 니 다.
#            
cassdk_path=/home/gdface/cassdk
#     profile     
new_export="export LD_LIBRARY_PATH=$cassdk_path:\$LD_LIBRARY_PATH"
#             
reg_str="^\s*export\s*LD_LIBRARY_PATH=$cassdk_path:\$LD_LIBRARY_PATH"
#   grep  profile           ,   ,         
if grep -q $reg_str /etc/profile
then
echo $cassdk_path exists in LD_LIBRARY_PATH,skip
else    
    # export LD_LIBRARY_PATH=$cassdk_path:\$LD_LIBRARY_PATH
    echo defined LD_LIBRARY_PATH variable
    #    profile       
    echo $new_export >> /etc/profile
fi
#   export  
grep $reg_str /etc/profile

INSTALL. sh 실행 후 profflee 파일 의 끝 에 한 줄 추가 export LD_LIBRARY_PATH=/home/gdface/cassdk:$LD_LIBRARY_PATH
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export LD_LIBRARY_PATH=/home/hadoop/workspace/cassdk/release/cassdk_linux_x86_64/bin:/usr/local/face/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/gdface/cassdk:$LD_LIBRARY_PATH

다음은 스 크 립 트 (UNINSTALL. sh) 세 션 을 마 운 트 해제 하고 sed 로 profile 파일 을 수정 하 며 설치 스 크 립 트 에 추 가 된 export 문 구 를 삭제 합 니 다.
#            
cassdk_path=/home/gdface/cassdk
#  cassdk_path         / .   \/ \. ,          
reg_path=`echo $cassdk_path|sed -r 's/([\/\.])/\\\\\1/g'`
echo delete the line if exist:
echo \"export LD_LIBRARY_PATH=$cassdk_path:\\\$LD_LIBRARY_PATH\" #   sed            sed -i_bak -r "/^\s*export\s*LD_LIBRARY_PATH=$reg_path:\$LD_LIBRARY_PATH/d" /etc/profile #       /d     # -i_bak       profile        profile_bak   。

UNISTALL. sh 실행 후 스 크 립 트 에서 export LD_LIBRARY_PATH=/home/gdface/cassdk:$LD_LIBRARY_PATH 이 줄 코드 가 자동 으로 삭 제 됩 니 다.
위의 수정 은 /etc/profile 로 예 시 된 것 이기 때문에 루트 권한 으로 실행 해 야 합 니 다. 물론 같은 방법 으로 수정 할 수도 있 습 니 다 ~/.bash_profile.

좋은 웹페이지 즐겨찾기