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

builtinのToDo #73

Open
2 of 5 tasks
takumihara opened this issue Oct 10, 2021 · 5 comments
Open
2 of 5 tasks

builtinのToDo #73

takumihara opened this issue Oct 10, 2021 · 5 comments
Assignees

Comments

@takumihara
Copy link
Owner

takumihara commented Oct 10, 2021

Todo及びDiscussionスレッド

  • exitコマンドの細かい挙動
     - [ ] exit aaaが成功
     - [ ] exit 0 aaa || echo hello失敗するがecho helloが実行されない
  • bashの挙動にどこまで合わせるかのディスカッション(個人的にはreferenceに書いてなかったら対応しなくてもいいのかな、みたいに思ったりしますww)
  • env, export, unsetなど、環境変数系コマンドの順番
  • export, unset の引数のエラー処理が甘い(export &**%#=test->ko, export TEST=" ~!@#"->ok, unset TEST->ok, unset TEST="f 13#Q$!"->ko)ft_isalnum`とかで判断するのが無難か?
  • exitでのfree()処理
@moromin
Copy link
Collaborator

moromin commented Oct 10, 2021

referenceに書いてないってことは、bash書いてる人も把握できてない不具合だ。
ってことにして、とりあえず無視しましょww
reference見つかったら順次対応という形でw

@takumihara
Copy link
Owner Author

exitでのfree()処理追加!

@moromin
Copy link
Collaborator

moromin commented Oct 20, 2021

cdコマンド実行前のカレントディレクトリの情報をOLDPWD、実行後のカレントディレクトリの情報をPWDに反映する必要ありそうです。
そして何故か、unset PWDしてcdすると、両方消えます笑笑
unset PWDしてcdしなければ、OLDPWDは残ります笑笑

$ env | grep PWD
PWD=/Users/kazuma/Desktop/42Cursus/minishell
$ cd ..
$ env | grep PWD
PWD=/Users/kazuma/Desktop/42Cursus
OLDPWD=/Users/kazuma/Desktop/42Cursus/minishell

$ unset PWD
$ cd ..
$ env | grep PWD

$ unset PWD
$ env | grep PWD
OLDPWD=/Users/kazuma/Desktop/42Cursus

@moromin
Copy link
Collaborator

moromin commented Oct 25, 2021

export について、以下のように+=をつけたパターンに対応するか否か
bash referenceに+=についての言及はない。。。

$ export APPEND_NONE=1 && export APPEND_NONE+= && export | grep APPEND_NONE
exit status: minishell=1 bash=0
0a1
> declare -x APPEND="1"
1d0
< minishell: export: `APPEND+=': not a valid identifier

@moromin
Copy link
Collaborator

moromin commented Oct 25, 2021

export, unsetの両方に関わることだが、nfukadaさんのテストケースにOLDPWD, PWD, SHLVLを含むものがあったので一応書いておく。

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