게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
Linux cd 커맨드를 구현하려면 어떻게 해야할까요?
게시물ID : programmer_6135짧은주소 복사하기
작성자 : 킴키리
추천 : 0
조회수 : 3166회
댓글수 : 3개
등록시간 : 2014/10/23 01:35:38
옵션
  • 본인삭제금지
cd를 구현하라는 과제가 나왔네요. 여러가지 고민중에 질문올립니다.

비록 과제로 시작하였지만, 꽤나 생각해볼것이 많아 프로그래머 게시판에 글을 남겨봅니다.



일단 핵심은 이것입니다.

1. 현재 떠있는 쉘의 Working directory를 원하는 디렉토리로 바꿔야합니다.

2. bashrc에 alias나 function을 추가하는 방법이있곘지만, 예약어 추가가아닌, 프로그램을 만들어야 합니다.

3. 쉘스크립트나, C로 만든 프로그램은, fork/exec 모델 때문에 Parent process인 현재 쉘의 pwd는 바꾸지 못합니다.

4. 따라서 정상적인 chdir()함수나 쉘스크립트코드와는 다른 방법이 필요합니다.



검색중에 여러가지를 보았는데

alias를 추가하는방법, source 명령어로 현재 쉘에서 실행하는방법등.

여러가지가 있긴하지만, 제가 만들어 보고 싶은것은

./mycd [directory]

하게되면 이동하는 것입니다.

쉘을 강탈하여(? 의미전달이 정확한지 모르겠습니다), 바이너리 코드로 된 함수위치를 Function call 해주는 방법같은게 생각나는데

어떠한 방법들이 있을까요?



본삭금 걸었어요 ㅜㅜ 



전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호