왜 쉘 스트립트가 fopen 같은 기능을 할 수 없는지?
할 수 없다면 .. 왜 못하는지.. 고수님들 설명해 주세요.. ㅋ
왜 쉘 스트립트가 fopen 같은 기능을 할 수 없는지? 할 수 없다면 .. 왜 못하는지.. 고수님들 설명해 주세요.. ㅋ
파일 디스크립터 같은 걸 원하시는 건가요? 못하지는 않아요. 이를테면,
파일 디스크립터 3번으로 열려면,
exec 3> foo.txt
4번으로 열려면 이렇게 하겠죠.
exec 4> bar.txt
결과를 3번 디스크립터 쪽으로 보내려면
echo "이것은 표준 출력을 3번 디스크립터 즉 foo.txt로 보냅니다." >&3
4번 디스크립터 쪽으로는 ls의 출력을 보내봅시다.
ls -al >&4
다 썼으니 닫아야 겠죠. 3번 디스크립터 즉 foo.txt를 닫으려면
exec 3>&-
라고 하면 되고 4번 디스크립터 즉 bar.txt를 닫으려면
exec 4>&-
하면 되겠습니다.
이외에도 디스크립터끼리 join하는 것도 있으니 bash(1)을 참고하시길.
타면자건(唾面自乾)
좀 엉뚱한 질문이지만 ..
흐.. 이럼 되겠네요 왜 쉘에는 api가 없는 걸까요?
파일 조작을 위한 fopen , write, socket , socketopt 같은..
이 이유를 알면 될 듯 합니다.. - - ;;
너무 엉뚱한가요? ㅋ
PS : 님의 위 예제에서 exec는 C 에서의 exec() 함수를 뜻하는 건가요?
넘 쉘 스트립트에 대한 이해가 없는듯.. ㅠㅠ
“바람에게도 길은 있다. 나는 비로소 나의 길을 가느니. 길은 언제나 어디에나 있다.”
쉘 스크립트라는 것은, M$ 도스의 배치 파일하고 비슷한 역할을 한다고 생각하시면 됩니다. 즉, 쉘 스크립트 파일의 모든 내용을 쉘상으로 사용자가 직접 한줄 한줄씩 복사해서 그대로 친다면, 똑같은 기능을 한다는 것입니다.
예컨데, 다음과 같은 간단한 스크립트가 있습니다:
#!/bin/bash for x in * do echo $x done
----블로그 / 위키 / 리눅스 스크린샷 갤러리
ㅎ..
exec 를 man 해보니깐..
exec, eval, source - shell built-in functions to execute other commands
다음과 같은 문구가 shell built-in 이라고.
어떻게 shell이 exec 를 구현 했을까요?
설마 exec() function을 바로 호출은 못할거 같은데.
무슨 방법이 있나요? ㅋ..
주제를 바꿔주세요. 질문은 이상하지 않은데 주제가 이상합니다. :D
---http://coolengineer.com
exec, eval, source - shell built-in functions to execute other commands 다음과 같은 문구가 shell built-in 이라고. 어떻게 shell이 exec 를 구현 했을까요? 설마 exec() function을 바로 호출은 못할거 같은데. 무슨 방법이 있나요? ㅋ..
말 그대로 Built-in이죠
쉘에 내장된 명령입니다.
이를테면 쉘에 내장된 exec 명령이 쉘 내부에서 exec() 시스템콜을 호출하는 식이죠.
----http://www.planetmono.org
저 같은 경우 저수준의 api 들이 필요할 경우는 php 로 쉘스크립트를 만듭니다. 펄이나 파이썬을 하실 수 있다면 그것도 좋을 듯 하네요.
텍스트 포맷에 대한 자세한 정보
<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]
Re: 이 질문 이상한가요?
파일 디스크립터 같은 걸 원하시는 건가요? 못하지는 않아요. 이를테면,
파일 디스크립터 3번으로 열려면,
exec 3> foo.txt
4번으로 열려면 이렇게 하겠죠.
exec 4> bar.txt
결과를 3번 디스크립터 쪽으로 보내려면
echo "이것은 표준 출력을 3번 디스크립터 즉 foo.txt로 보냅니다." >&3
4번 디스크립터 쪽으로는 ls의 출력을 보내봅시다.
ls -al >&4
다 썼으니 닫아야 겠죠. 3번 디스크립터 즉 foo.txt를 닫으려면
exec 3>&-
라고 하면 되고 4번 디스크립터 즉 bar.txt를 닫으려면
exec 4>&-
하면 되겠습니다.
이외에도 디스크립터끼리 join하는 것도 있으니 bash(1)을 참고하시길.
타면자건(唾面自乾)
좀 엉뚱한 질문이지만 .. 흐.. 이럼 되겠네요 왜 쉘에는 api
좀 엉뚱한 질문이지만 ..
흐.. 이럼 되겠네요 왜 쉘에는 api가 없는 걸까요?
파일 조작을 위한 fopen , write, socket , socketopt 같은..
이 이유를 알면 될 듯 합니다.. - - ;;
너무 엉뚱한가요? ㅋ
PS : 님의 위 예제에서 exec는 C 에서의 exec() 함수를 뜻하는 건가요?
넘 쉘 스트립트에 대한 이해가 없는듯.. ㅠㅠ
“바람에게도 길은 있다. 나는 비로소 나의 길을 가느니. 길은 언제나 어디에나 있다.”
쉘 스크립트라는 것은, M$ 도스의 배치 파일하고 비슷한 역할을 한다고
쉘 스크립트라는 것은, M$ 도스의 배치 파일하고 비슷한 역할을 한다고 생각하시면 됩니다.
즉, 쉘 스크립트 파일의 모든 내용을 쉘상으로 사용자가 직접 한줄 한줄씩 복사해서 그대로 친다면, 똑같은 기능을 한다는 것입니다.
예컨데, 다음과 같은 간단한 스크립트가 있습니다:
이 스크립트를 파일로 만들어서 한번 실행시켜 보세요.
또, 스크립트의 내용 중 맨 윗줄인 #!/bin/bash 를 제외하고, 각 줄을 커맨드 창에 하나하나 직접 입력해 보세요.
----
블로그 / 위키 / 리눅스 스크린샷 갤러리
ㅎ.. exec 를 man 해보니깐.. exec, eva
ㅎ..
exec 를 man 해보니깐..
exec, eval, source - shell built-in functions to execute other commands
다음과 같은 문구가 shell built-in 이라고.
어떻게 shell이 exec 를 구현 했을까요?
설마 exec() function을 바로 호출은 못할거 같은데.
무슨 방법이 있나요? ㅋ..
“바람에게도 길은 있다. 나는 비로소 나의 길을 가느니. 길은 언제나 어디에나 있다.”
Re: 이 질문 이상한가요?
주제를 바꿔주세요. 질문은 이상하지 않은데 주제가 이상합니다. :D
---
http://coolengineer.com
[quote="하하"]exec, eval, source - shell
말 그대로 Built-in이죠
쉘에 내장된 명령입니다.
이를테면 쉘에 내장된 exec 명령이 쉘 내부에서 exec() 시스템콜을 호출하는 식이죠.
----
http://www.planetmono.org
저 같은 경우 저수준의 api 들이 필요할 경우는 php 로 쉘스크립트를
저 같은 경우 저수준의 api 들이 필요할 경우는 php 로 쉘스크립트를 만듭니다.
펄이나 파이썬을 하실 수 있다면 그것도 좋을 듯 하네요.
댓글 달기