간단한 쉘 프로그램을 만들면서 막히는 부분...
글쓴이: paeksj98 / 작성시간: 화, 2007/01/16 - 10:02오전
간단하게 쉘이라고 하기도 뭐한 걸 하나 짜보려고합니다.
실행을 하면 bash profile에 path라인 부분을 기존꺼에다가 새로운 패쓰를 덮어쓰는
걸 만드려고 하는데 이부분에서 막히고 있습니다.
다른건 그냥 실행 하는 식으로 짜려고 하는데 환경 변수 "추가" 라던지 "변경" 등을
해주어야 하는데 이런거 쉘에서 어떻게 처리 해야 하는건지 감이 안오네요.
c라면 파일 오픈해서 라인 비교하고 해서 해주면 되는데....ㅠㅠ
이건 처음 해보는거라 감이 도통....ㅠㅠ
혹시 아시는분 간단하게 예제나 설명좀 부탁드립니다.
Forums:
1. .bash_profile파일
1. .bash_profile파일 자체를 바꾸는 스크립트를 만들고 싶으신거라면
특정파일의 특정 구문을 바꿀때는 sed나 perl을 쓰시는게 편합니다.
perl을 공부해보신적이 없으시면 sed를 보세요.
http://wiki.kldp.org/wiki.php/DocbookSgml/Sed-TRANS
2. 그냥 환경변수를 설정하는 스크립트를 만들고 싶으신 거라면
환경변수에 관해서는 http://kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/internal.html 의 export를 사용하시면 됩니다.
기존의 $PATH가 있으면
추가
export PATH=${PATH}:/NewPath/
변경
export PAth=/NewPath/
하시면 됩니다.
위에 제가 링크해드린 문서에 나와있지만 source 하지 않고 스크립트를 그냥 실행하면 환경변수가 설정이 안됩니다.
질문 추가 합니다.
제가 예를 환경 설정을 드셔서 모두 환경 설정 위주로 설명 하주셨더군요...질문자의 실수...^^
한예로 쉘프로그램을 짜서 여러가지 삼바라던지 sql이라던지 기타등등을 깔때 기본적으로
여기 저기 들어가서 설정을 해주는것들이 있는데 이런것들은 기존 라인에 추가하던지
아니면 기존 라인을 삭제하고 다시 쓰는 경우들이 많은데
이런경우 어떻게 처리 해야할지 깝깝하네요...^^
지나가는 길에
지나가는 길에 다시한번 sed !!
(아울러 훨씬더 강력하지만 조금 공부를 해야하는 Perl!!)
보통은...
이미 있는 세팅을 바꿔야하는 경우는 별로 없겠죠.
바꾸는 순간 다른 프로그램들이 안돌아갈테니까요.
그냥 Path나 LD_LIBRARY_PATH등등을 수정하시는 경우라면,
echo "export SAMBA_PATH=/opt/samba/bin" >> .bash_profile
echo "export PATH=${PATH}:${SAMBA_PATH}" >> .bash_profile
이런식으로 라인들을 추가하시면 될거에요.
댓글 달기