cd 프로그램 (디렉토리 이동) 은 어떻게 만드나요?
간단한거라 생각하고 제가 만들라고 했는데
프로그램안에서는 디렉토리가 바뀌더라도
프로그램이 끝나면 원래 디렉토리로 돌아와있네요...
어케 해야하는지...
시스템 콜 중에 chdir()이라고 하는 게 있습니다. 이걸로 구현할 수 있지요.
표준 C라이브러리로는 구현하기 힘들겁니다.
제가 알기로 cd 프로그램을 구현한다는 것은 불가능합니다. shell에서 cd 프로그램을 실행하면 프로그램이 쉘의 자식 프로세스로 실행되기 때문에 자식 프로세스의 working directory는 바꿀 수 있어도 부모 프로세스(shell)의 working directory는 바꿀 수 없습니다.
이것이 cd 명령어가 일반적인 명령어가 아니라 shell builtin command인 이유로 알고 있습니다.
텍스트 포맷에 대한 자세한 정보
<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: cd 프로그램은 어떻게 짜요?
시스템 콜 중에 chdir()이라고 하는 게 있습니다.
이걸로 구현할 수 있지요.
표준 C라이브러리로는 구현하기 힘들겁니다.
Re: cd 프로그램은 어떻게 짜요?
제가 알기로 cd 프로그램을 구현한다는 것은 불가능합니다.
shell에서 cd 프로그램을 실행하면 프로그램이 쉘의 자식 프로세스로 실행되기 때문에
자식 프로세스의 working directory는 바꿀 수 있어도 부모 프로세스(shell)의
working directory는 바꿀 수 없습니다.
이것이 cd 명령어가 일반적인 명령어가 아니라 shell builtin command인 이유로
알고 있습니다.
댓글 달기