Yoshiki-Iwasa / minishell

0 stars 0 forks source link

echo 'multi'> b.txtで、multiがb.txtにリダイレクトされず、「multi> b.txt」が表示されてしまう #78

Closed hiroin closed 4 years ago

hiroin commented 4 years ago

[事案] echo 'multi'> b.txtで、multiがb.txtにリダイレクトされず、「multi> b.txt」が表示されてしまう。 リダイレクト記号の前後に空白がなくても動作する必要がある。

[再現手順] minishell

minishell$ echo 'multi'> b.txt
multi> b.txt
minishell$ echo 'multi' >b.txt
multi >b.txt
minishell$ echo 'multi'< b.txt            
multi< b.txt
minishell$ echo 'multi' <b.txt            
multi <b.txt
minishell$ echo 'multi'>> b.txt
multi>> b.txt
minishell$ echo 'multi' >>b.txt    
multi >>b.txt
minishell$ echo 'multi'| cat
multi| cat
minishell$ echo 'multi' |cat
multi |cat

bash

$ echo 'multi'> b.txt
$ cat b.txt
multi

すみません、デグレを見つけた際に、たまたま空白を入力するのを忘れて見つけてしまいました… echo以外のコマンドは大丈夫です。

Yoshiki-Iwasa commented 4 years ago

このパターンの表示相違は、ダブルクオーテーションの場合も起きることを確認しました。 ちょっとエスケープのロジックを考え直しますね

Yoshiki-Iwasa commented 4 years ago

修正しました!

hiroin commented 4 years ago

修正を確認しました。