Open Victra15 opened 2 years ago
예상 질문 : ~ 구현을 왜 하시지 않았나요?
답변 : ~ 같은 경우 cd 의 자체적인 기능이 아닌 쉘 내부에서 입력을 expand하는 ($로 환경변수를 가져오는것과 같이) 형태로 구현이 되어있고, 이는 subject에서 별도로 요구하는 사항이 아닙니다. 또한 ~ 을 구현한다고 해도 subject 내에서 HOME 디렉토리를 가져오는 별도의 시스템 콜 함수가 허용되지 않는 한 정확한 동작을 보장할 수 없어서 구현하지 않았습니다.
+ 예상 질문 : 환경변수를 사용해서 구현하면 되지 않나요?
답변 : 프로그램이 받아오는 환경변수를 사용해서 구현할 경우 unset을 통해 HOME에 대한 정보를 지웠을 경우 정상적으로 동작하지 않게 되는데, 이는 bash쉘에서의 동작과의 차이가 있습니다.
실제 배쉬와 입력이 다른 사항에 대한 Defense
A. ls | < a.out 과 같은 명령어도 오류 없이 동작하는데 이 경우 공백으로 온 명령에 대한 처리가 아무것도 없는 것으로 해석할 수 있으므로 아무런 처리를 하지 않는것이 올바른 동작으로 볼 수 있습니다.
https://velog.io/@hey-chocopie/minishell-%ED%8F%89%EA%B0%80%ED%91%9C-%ED%95%B4%EC%84%9D 평가지