-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
- 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
라고 공백이 생략 되지 않음.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels