Yoshiki-Iwasa / minishell

0 stars 0 forks source link

[デグレ]014_EnvironmentPathの試験不具合 #61

Closed hiroin closed 4 years ago

hiroin commented 4 years ago

事案 [デグレ]014_EnvironmentPathの試験不具合

事象が発生したmiishellのver ff4e62aae5ff1f80b4ab70e2e86cb4cfc41003b4

問題ないmiishellのver a462b50aa143fcaf99d4830cd419640b04a45a78

事案詳細 PATHをunsetした後に、PATHを再設定しても、PATHを参照してコマンドを実行してくれない

再現手順 [minishell]

minishell$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
minishell$ unset PATH
minishell$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
minishell$ date
bash: date: No such file or directory

ごめんなさい、当時、気が付きませんでした…

Yoshiki-Iwasa commented 4 years ago

修正しました。 原因は、

$ unset PATH
$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

でPATH がshell 変数にしか設定されません。しかし、自分はPATH を探しに行く先を環境変数のみにしていたのでPATHが見つからなくなってました。環境変数にPATH がなかったらshell 変数を探しにいくよう設定して解決しました。

本家のbash もそういう挙動になっているようでした。

hiroin commented 4 years ago

修正を確認しました。 bashもそういう挙動になっているのを今の今まで知りませんでした…