You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
environを書き換えたり削除したりするのは、現状使える関数では無理そう。
そのため、環境変数を扱う方法をリストに戻すか、ハッシュテーブルにするか、いずれかの方法で管理したい。 cd コマンドの引数なしや、環境変数展開などのしやすさを考えれば、getenv(key)のような動作ができそうなハッシュテーブルの方が使い勝手は良さそう。
実装するとしたらget_hash_value(key)みたいな感じで使えると思う。
概要
environ
を書き換えたり削除したりするのは、現状使える関数では無理そう。そのため、環境変数を扱う方法をリストに戻すか、ハッシュテーブルにするか、いずれかの方法で管理したい。
cd
コマンドの引数なしや、環境変数展開などのしやすさを考えれば、getenv(key)
のような動作ができそうなハッシュテーブルの方が使い勝手は良さそう。実装するとしたら
get_hash_value(key)
みたいな感じで使えると思う。でも、
env
コマンドとか実行したときの表示順序がenviron
とずれそうだからやっぱりリストの方がいいかも・・・Who
多分わい
Where
main
: minishellを実行した瞬間のenviron
の値だけコピーexpand
: 環境変数展開execute
: builtin commandの実行How
とりあえず👇を参考にハッシュ実装中です。
https://it-ojisan.tokyo/c-hashtable/
何をすれば Issue が解決するか、追加/変更/削除する点
malloc
を使うことになるので、その場合のエラー処理方法参考リンク(あれば)
以下のリンクからテンプレートを拝借
The text was updated successfully, but these errors were encountered: