Justhiro55/minishell

レビュー修正箇所

Opened this issue · 5 comments

  • スペースのみの返り値が1
  • cat ^C とか ^\
  • / のみの時にis a directory
  • コントロールCの返り値
  • env -i ./minishellの時の挙動(exportすると初期の環境変数が消える)、リーク(env, export)
  • コマンド実行時に左から右の順序で実行されるようにする
  • minishellの中でminishell開いたときのexitのstatus
  • フォルダか確認 stat
  • クオートで囲われている時の処理

レビュー外で修正できる箇所

  • heredoc中のctrl-c
  • ファイル、ディレクトリのpermission

クオートの挙動
最初に見つけたクオートは全て消して、もう片方は残す?

  • bash-3.2$ echo aa'""''""'
    aa""""
  • bash-3.2$ echo aa"''""''"
    aa''''

田中さん

  • 環境変数の更新(pwd, oldpwd, _)
  • 変数展開${}
  • <<a <<b | cat (優先)
  • <README.md | cat (最優先)
  • パイプ超えたheredoc (最優先)
  • cat | cat | ls (最優先)
  • cat|ls
  • ./minishellの中でminishell開いた時てexitしたときのステータス引き継ぎ
  • exit 1 | exit 2の時のexit値が2にならない (優先)
  • ./minishell/の出力,後ろに/があるかで判定?
  • 一時ファイルにheredocの中身 パイプのman
  • シンタックスエラーで落ちるやつ
  • fdのclose

csakamot

  • \t タブ (重要)
  • echo "cat lol.c | cat > lol.c"でsyntax error near unexpected token `"' (重要)
  • env fljaeifjの戻り値 (重要)
  • export -zの戻り値 (重要)
  • ヒアドキュメント内の変数展開
  • cat << "aa"
  • $&gt; cat &lt;&lt; aa | ls,bash-3.2$ cat << aa | ls のヒアドキュメントの順番
  • $> cat ./echo | のセグフォ(最重要)
  • ls | ls | ls...のエラー問題

シンプルなコマンドとグローバル変数
tabを入力した時、
$>
command not found:

bash
bash-3.2$

二重引用符
$> echo "cat lol.c | cat > lol.c"
syntax error near unexpected token `"'

bash-3.2$ echo "cat lol.c | cat > lol.c"
cat lol.c | cat > lol.c

戻り値
$> env fljaeifj
env: fljaeifj: No such file or directory
$&gt; echo $?
1

bash-3.2$ env fjaief
env: fjaief: No such file or directory
bash-3.2$ echo $?
127

bash: export:'-a': not a valid identifier
$&gt; echo $?
1

bash-3.2$ export -z
bash: export: -z: invalid option
export: usage: export [-nf] [name[=value] ...] or export -p
bash-3.2$ echo $?
2

ヒアドク
$> cat << "aa"

$USER
aa
"aa"
$USER
aa

bash-3.2$ cat << "aa"

$USER
"aa"
aa
$USER
"aa"

pipe
$> cat ./echo |
[1] 22631 segmentation fault ./minishell

$> cat << aa | ls

Makefile func minishell src
echo includes obj test
ofjesof
jfeifj
aa

bash-3.2$ cat << aa | ls

jfiejf
fjeifj
aa
Makefile func minishell src
echo includes obj test

bash: fork: Resource temporarily unavailable
bash-3.2$