간단하게 cd명령을 구현해 보려고 프로그램을 써서 만들었는데
이상하게 디렉이 안바뀌네요.. chdir함수만 썼는데 또 다른 방법을 써야되는건가요? 미드나잇 커맨드도 이상하게 프로그램으로 폴더 돌아다니다가 종료하면 다시 원래 mc실행했던곳으로 가더라구요... 무슨 문제가..
간단하게 cd명령을 구현해 보려고 프로그램을 써서 만들었는데 이상하게 디렉이 안바뀌네요.. chdir함수만 썼는데 또 다른 방법을 써야되는건가요? 미드나잇 커맨드도 이상하게 프로그램으로 폴더 돌아다니다가 종료하면 다시 원래 mc실행했던곳으로 가더라구요... 무슨 문제가..
리눅스에서의 첫 플밍인데,,, 글을 검색했더니 구현이 불가능하다고 되어있는데,,,, - :cry: :cry:
예, 못 만듭니다. :(
cd, export/setenv 등과 같이 별도의 프로그램으로 수행되는게 아니라 셸 내부에서만 돌아가는 명령들이 있지요. 유닉스/리눅스 프로세스의 구조상 별도의 프로그램으로 분리해낼 수 없는 것들이 있습니다. 그냥 간단한 셸을 한번 짜보심이 어떨런지..? :)
원칙대로라면 child process에서 chdir를 부르고 child process의 current working directory(CWD)를 parent에 반영하는 것은 불가능합니다만,
bash alias와 function을 써서 비슷하게 흉내낼 수는 있습니다. mc(1)이 이 기능을 써서 mc 안에서 CWD를 변경하고 mc를 종료한 다음에도 그 CWD를 유지할 수 있도록 만들 수 있습니다.
자세한 것은, mc alias('ailas' 명령을 치면 나옴)와, mc-wrapper shell script (대개 /usr/share/mc/bin에 설치)를 참고하기 바랍니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
원칙대로라면 child process에서 chdir를 부르고 child process의 current working directory(CWD)를 parent에 반영하는 것은 불가능합니다만, bash alias와 function을 써서 비슷하게 흉내낼 수는 있습니다. mc(1)이 이 기능을 써서 mc 안에서 CWD를 변경하고 mc를 종료한 다음에도 그 CWD를 유지할 수 있도록 만들 수 있습니다. 자세한 것은, mc alias('ailas' 명령을 치면 나옴)와, mc-wrapper shell script (대개 /usr/share/mc/bin에 설치)를 참고하기 바랍니다.
한때 irc에서 어느분이 현재디렉토리 바꾸는 프로그램을 만들수 있다그래서 한참 싸운 기억이 나네요
그분이 증거로 댔던게 mc에서는 되지 않느냐, 그럼 그놈들은 어떻게 만들었냐? 이거였는데, 결국 bash function으로 판명되었습니다 :)
텍스트 포맷에 대한 자세한 정보
<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명령이요
쉘에서 프로그램을 실행하면, 새 process가 생기고, 그 새 process에서만 디렉토리가 바뀌게 됩니다. parent인 shell의 현재디렉토리는 안바뀌게 되죠.
- -; 그럼 못만드는건가요?
리눅스에서의 첫 플밍인데,,, 글을 검색했더니 구현이 불가능하다고 되어있는데,,,, - :cry: :cry:
Re: - -; 그럼 못만드는건가요?
예, 못 만듭니다. :(
cd, export/setenv 등과 같이 별도의 프로그램으로 수행되는게 아니라 셸 내부에서만 돌아가는 명령들이 있지요. 유닉스/리눅스 프로세스의 구조상 별도의 프로그램으로 분리해낼 수 없는 것들이 있습니다. 그냥 간단한 셸을 한번 짜보심이 어떨런지..? :)
원칙대로라면 child process에서 chdir를 부르고 child
원칙대로라면 child process에서 chdir를 부르고 child process의 current working directory(CWD)를 parent에 반영하는 것은 불가능합니다만,
bash alias와 function을 써서 비슷하게 흉내낼 수는 있습니다.
mc(1)이 이 기능을 써서 mc 안에서 CWD를 변경하고 mc를 종료한 다음에도 그 CWD를 유지할 수 있도록 만들 수 있습니다.
자세한 것은, mc alias('ailas' 명령을 치면 나옴)와, mc-wrapper shell script (대개 /usr/share/mc/bin에 설치)를 참고하기 바랍니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
[quote="cinsk"]원칙대로라면 child process에서 ch
한때 irc에서 어느분이 현재디렉토리 바꾸는 프로그램을 만들수 있다그래서 한참 싸운 기억이 나네요
그분이 증거로 댔던게 mc에서는 되지 않느냐, 그럼 그놈들은 어떻게 만들었냐?
이거였는데, 결국 bash function으로 판명되었습니다 :)
댓글 달기