간단한 쉘 프로그램을 만들면서 막히는 부분...

paeksj98의 이미지

간단하게 쉘이라고 하기도 뭐한 걸 하나 짜보려고합니다.

실행을 하면 bash profile에 path라인 부분을 기존꺼에다가 새로운 패쓰를 덮어쓰는

걸 만드려고 하는데 이부분에서 막히고 있습니다.

다른건 그냥 실행 하는 식으로 짜려고 하는데 환경 변수 "추가" 라던지 "변경" 등을

해주어야 하는데 이런거 쉘에서 어떻게 처리 해야 하는건지 감이 안오네요.

c라면 파일 오픈해서 라인 비교하고 해서 해주면 되는데....ㅠㅠ

이건 처음 해보는거라 감이 도통....ㅠㅠ

혹시 아시는분 간단하게 예제나 설명좀 부탁드립니다.

pung96의 이미지

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 하지 않고 스크립트를 그냥 실행하면 환경변수가 설정이 안됩니다.

paeksj98의 이미지

제가 예를 환경 설정을 드셔서 모두 환경 설정 위주로 설명 하주셨더군요...질문자의 실수...^^

한예로 쉘프로그램을 짜서 여러가지 삼바라던지 sql이라던지 기타등등을 깔때 기본적으로

여기 저기 들어가서 설정을 해주는것들이 있는데 이런것들은 기존 라인에 추가하던지

아니면 기존 라인을 삭제하고 다시 쓰는 경우들이 많은데

이런경우 어떻게 처리 해야할지 깝깝하네요...^^

pung96의 이미지

지나가는 길에 다시한번 sed !!
(아울러 훨씬더 강력하지만 조금 공부를 해야하는 Perl!!)

seank76의 이미지

이미 있는 세팅을 바꿔야하는 경우는 별로 없겠죠.
바꾸는 순간 다른 프로그램들이 안돌아갈테니까요.

그냥 Path나 LD_LIBRARY_PATH등등을 수정하시는 경우라면,

echo "export SAMBA_PATH=/opt/samba/bin" >> .bash_profile
echo "export PATH=${PATH}:${SAMBA_PATH}" >> .bash_profile

이런식으로 라인들을 추가하시면 될거에요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.