exgs / oh_my_minishell

42seoul minishell
2 stars 1 forks source link

export, unset, exit 에 환경변수가 변경 안되는 문제 #56

Open PennyBlack2008 opened 3 years ago

PennyBlack2008 commented 3 years ago

export, unset 내에서 char**argv를 일일이 refine_line 적용 시켜주기

(i)case one
export aaa=$OLDPWD 가능
but 
unset $aaa or unset aaa 불가능 (에러메시지)

(ii)case two
export aaa=$LOGNAME 가능
and
unset $aaa or unset aaa 가능

(iii)case 3
export a=111
and
exit $a 가능
ykoh42 commented 3 years ago

case 3 추가함 exit 도

ykoh42 commented 3 years ago

@PennyBlack2008 이거 argv[0] ~ argv 전체에 refine_line 함수 먹여야 하는거맞지?

전체에 적용해야하는게 맞다면 check_command 함수에서 처음에 argv전체를 순회하면서 refine_line을 먹이는 식으로 하는건 어떄?

PennyBlack2008 commented 3 years ago

@kohyounghwan check_command 함수에서 처음에 argv를 순회해버리면 echo에서 터지고, "pwd" 도 터져버려서 그렇게 하면 안될 것같아~

ykoh42 commented 3 years ago

@PennyBlack2008

export c=cd
$c ..

이렇게 argv[0]에 환경변수 있을때는 작동안하는거징?

exgs commented 3 years ago

이미 문제점에 대해서 알고 있지만, 사진 첨부함

command로 실행되지않음
exgs commented 3 years ago

export "a<a"=123 -> bash error
export "a<a"=123 -> minishell a=123 으로 세팅됨

스크린샷 2021-01-19 오후 4 42 59
exgs commented 3 years ago
스크린샷 2021-01-19 오후 9 53 00
  1. export aa = bb🙅‍♂️

    Bash->error minishell:=.

  2. export aa= bb 🙆‍♂️

    Bash : aa= Minishell :aa=.

  3. export aa =bbb🙅‍♂️

    Bash->error

    Minishelel:=bbb.

ykoh42 commented 3 years ago
스크린샷 2021-01-19 오후 9 53 00
  1. export aa = bb🙅‍♂️ Bash->error minishell:=.
  2. export aa= bb 🙆‍♂️ Bash : aa= Minishell :aa=.
  3. export aa =bbb🙅‍♂️ Bash->error Minishelel:=bbb.

이건 우선 해결!

ykoh42 commented 3 years ago

이미 문제점에 대해서 알고 있지만, 사진 첨부함

command로 실행되지않음

이건 확인중

ykoh42 commented 3 years ago

export "a<a"=123 -> bash error export "a<a"=123 -> minishell a=123 으로 세팅됨

스크린샷 2021-01-19 오후 4 42 59

이것도 확인중