Open shoko-soeno opened 1 month 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" というエラーメッセージを出す?
仕様: オプションや引数なしで実行し、シェルを終了(終了コードは0)
正しい文字列parseや引数処理が肝 最後に実行したコマンドのstatusを保存しておく必要が出てくるので、適当なグローバル変数で保存しておく
exitを除く各ビルトインは、シェルのメインループの中で繰り返し実行