shoko-soeno / minishel_norm_ready

1 stars 1 forks source link

Builtin_exit #4

Open shoko-soeno opened 1 month ago

shoko-soeno commented 1 month ago

仕様: オプションや引数なしで実行し、シェルを終了(終了コードは0)

正しい文字列parseや引数処理が肝 最後に実行したコマンドのstatusを保存しておく必要が出てくるので、適当なグローバル変数で保存しておく

exitを除く各ビルトインは、シェルのメインループの中で繰り返し実行

shoko-soeno commented 1 week ago

最低限しか実装していないため、今後大手術が必要

shoko-soeno commented 6 days ago

数値が大きすぎる場合や、文字が渡された場合の挙動について実装する必要がありそう

shoko-soeno commented 2 days ago

$ exit 2147483647 exit $? 0: command not found: 255

exit 2147483649 exit $? 1: command not found

$ exit 9999999999999999999999999999 exit bash: exit: 9999999999999999999999999999: numeric argument required

シェルが数値として解釈できる場合、下位8ビット(0-255)に切り詰められる 数値以外の引数や、極端に大きい数値はエラー。例えばexit 99999999999999999 などlongを超える数値を実行されたら"numeric argument required" というエラーメッセージを出す?