Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

추가 이슈 최종 정리 #79

Open
Paul2021-R opened this issue Jul 4, 2022 · 1 comment
Open

추가 이슈 최종 정리 #79

Paul2021-R opened this issue Jul 4, 2022 · 1 comment
Assignees

Comments

@Paul2021-R
Copy link
Collaborator

  • cp /bin/cat ls -> 해당 명령어 이후 ls 동작했을 때 PATH 환경변수를 따라 ls가 정상적으로 실행되어야 합니다. (오류인 경우 cat이 실행됩니다.) 즉, execve 되는 로직이 PATH 먼저 확인하고, 나중에 execve를 실행하는 것으로 확인됩니다.
  • ./../../ -> 해당 입력시 권한이 없는 디렉토리로 이때 exit code는 126.. execve에서 에러 케이스를 검출하고, 해당 경우 126이 나오는 것으로 분할하여야 합니다.
  • $NOT_EXIST 와 같은 없는 환경 변수의 경우 그냥 타이핑 시 새로운 프롬프트가 나오고 끝나야 하며, exit code는 0입니다. 인자 변환 과정에서 환경변수가 없을 시 다음 단계로 진행하면 안되는 것으로 보입니다.
  • echo hello > $NOT_EXISTS 와 같은걸 했을 땐 ambiguous redirect가 나와야 합니다. -> 이 경우를 위해 입출력 파트에서 해당하는 환경변수가 없을 시(혹은 NULL일 시) 에러 처리를 해야 할 것으로 보입니다.
  • cp somefile $NOT_EXIST 이 경우 에러 처리로 cp usage가 나와야 합니다. 현재는 그냥 인자 하나 뿐이란 에러가 뜹니다.
  • ls $NOTEXIST 의 경우 ls만 한 것으로 나와야 합니다.

<<논란 요소>>
export GG=' ls -al '
라고 입력한 뒤 echo $GG 할 때는 공백들이 인자 구분되어 버리지만, echo "$GG" 의 경우 공백도 제대로 다 들어가서 구분되지 않음 즉
$> echo $GG
$> ls -al
$> echo "$GG"
$> ls -al
라고 공백이 생략 되지 않음.

@Paul2021-R
Copy link
Collaborator Author

추가 한개 더...
export dd = tt 이런 식으로 들어오면 에러로 처리해야 한다고 하네요...링크

이 링크 는 에러케이스들을 좀 골라내기는 합니다. 가려가면서 적당히 추가 해야할 듯 싶습니다.

This was referenced Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants