[질문]사용자설정과 하위프로세스에 관하여..

ch5375의 이미지

:D

안녕하세요!

배시 셀 시작하기 책을 보던 도중

이해가 가지 않는 부분이 있었는데요

사용자설정과 하위프로세서 라는 세션인데

변수와 하위프로세스가 무슨 관계가 있나요?

하위 프로세스는 절대로 자신을 만든 프로세스에 이런 '대상'을 알게하지 않는다??

뭐 이런 문구들이 있는데 잘 모르겠네요.

어떤 '대상'은 셀을 떠나서는 생각할 수 없고 어떤 '대상'은 셀을 떠나서 생각할 수 있고??

이해가 가지않네요--;

설명 부탁드립니다.

codebank의 이미지

질문을 조금 자세하게 써주셨으면하고 부탁드립니다.
쉘 프로그램 시작하기란 책을 모든 사람이 보고 있는것도 아니고 그것을 가지지 않은
사람들도 ch5375님이 질문하는 의도를 충분히 알 수 있도록 질문을 해주셨으면합니다.

먼저 질문을 자세히보니 '대상'이 무엇인지 의문점이 있으신건가요?
만일 책이 번역되어진 것이라면 역자가 남겨놓은 연락처(E-Mail이나 홈페이지...)로
먼저 연락을 취해보시기 바랍니다.
책에서 나오는 '대상'은 무엇을 해석한 글자인지 말이죠. 아니면 '대상'이 나타내는
것이 무엇인지를 분명하게 알려주십사 부탁을 먼저 하세요.
이해가 가지 않은 부분을 자신이 이해한 형태로 써놓아서 질문을 하기보다는 일부 직접
인용을 통해서 질문을 하시는게 더 좋습니다.
만일 일부 인용을 하지 못하도록 책에서 규정을 하고 있다면 원 저자나 역자에게
직접 질문을 올리는 방법밖에는 없겠네요.

변수와 하위 프로세서라고 되어있는 부분은 아무래도 환경변수와 쉘에서 실행되는
프로그램의 관계가 아닐까 조심스럽게 추측해봅니다.
환경변수와 쉘에서 실행시키는 프로그램의 관계라면 다음과 같이 설명할 수 있겠죠.
즉, 환경변수 PATH가 '/usr/bin:/usr/local/bin'이라고 되어있을때 만일 동일한
명령어인 gcc가 /usr/bin과 /usr/local/bin에 동시에 존재할때 환경변수에 의해서
/usr/bin에있는 gcc가 실행된다. 만일 환경변수 PATH를 쉘에서 재정의하여
'/usr/local/bin:/usr/bin'으로 만들었다면 쉘에서는 /usr/bin/gcc가 실행되는것이
아니라 /usr/local/bin/gcc가 실행되어진다.
이정도로 요약할 수 있겠네요.
만일 위에 설명한 예제를 말하는 것이라면 '대상'은 이런 환경변수가 아닐까요?

두번째 질문인 쉘을 떠나서 생각할 수 없는것과 쉘을 떠나서 생각할 수 있는것은
쉘자체에 환경변수를 잡아주는 것으로 구분지을 수 있는거라고 생각합니다.
즉, MY_SHELL_OPTION이라는 환경변수가 있다고 생각할 때 일반적인 set이나
env에서는 저런 환경변수가 정의되어있지 않습니다. 특정한 프로그램은 내부에서
getenv()를 이용해서 반드시 MY_SHELL_OPTION이라는 환경변수가 있어야만
동작을한다면 이 프로그램은 쉘에서 MY_SHELL_OPTION을 정의해 줄때만 동작하고
이것은 대상은 쉘을 떠나서 생각할 수 없다는 것이 되겠죠.
보통 많이 사용하는 ps라는 명령은 환경변수가 정의되지 않아도 사용할 수 있는
프로그램이기 때문에 쉘을 떠나서도 생각할 수 있는것이 되겠죠.

책자체가 조금 난해한건지 아니면 질문을 올리신 ch5375님이 질문을 어렵게 한건지는
잘 모르겠지만 질문자체가 조금 난해하긴 합니다. :oops:

이상 짧은 지식으로 답변을 달아드렸습니다.
좀더 궁금하신 부분은 원저자나 역자에게 문의해보세요. :)

------------------------------
좋은 하루 되세요.

ch5375의 이미지

감사합니다.

조금은 도움이 될 것 같군요^^

질문 자체가 난해하셧을 텐데

잘 이해해주시다니..정말 고맙습니다.^^

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.