mnshlteam / minishell

0 stars 0 forks source link

질문지 and checklist #10

Open Victra15 opened 2 years ago

Victra15 commented 2 years ago

https://velog.io/@hey-chocopie/minishell-%ED%8F%89%EA%B0%80%ED%91%9C-%ED%95%B4%EC%84%9D 평가지

Victra15 commented 2 years ago

예상 질문 : ~ 구현을 왜 하시지 않았나요?

답변 : ~ 같은 경우 cd 의 자체적인 기능이 아닌 쉘 내부에서 입력을 expand하는 ($로 환경변수를 가져오는것과 같이) 형태로 구현이 되어있고, 이는 subject에서 별도로 요구하는 사항이 아닙니다. 또한 ~ 을 구현한다고 해도 subject 내에서 HOME 디렉토리를 가져오는 별도의 시스템 콜 함수가 허용되지 않는 한 정확한 동작을 보장할 수 없어서 구현하지 않았습니다.

+ 예상 질문 : 환경변수를 사용해서 구현하면 되지 않나요?

답변 : 프로그램이 받아오는 환경변수를 사용해서 구현할 경우 unset을 통해 HOME에 대한 정보를 지웠을 경우 정상적으로 동작하지 않게 되는데, 이는 bash쉘에서의 동작과의 차이가 있습니다.

jhynsoo commented 2 years ago

https://42born2code.slack.com/archives/CU6MU5TB7/p1654415231843169?thread_ts=1654403370.393059&cid=CU6MU5TB7 매크로 사용 관련

Victra15 commented 2 years ago

실제 배쉬와 입력이 다른 사항에 대한 Defense

  1. ls | (파이프 뒤에 아무것도 오지 않은 경우)

A. ls | < a.out 과 같은 명령어도 오류 없이 동작하는데 이 경우 공백으로 온 명령에 대한 처리가 아무것도 없는 것으로 해석할 수 있으므로 아무런 처리를 하지 않는것이 올바른 동작으로 볼 수 있습니다.