私は自分のシェルを作っており、プログラムを実行するためにfork/execをセットアップしています。 '/'のないコマンドでは、PATH環境で実行可能なディレクトリを検索します。しかし、シェルでclearを使うと、TERM環境変数が設定されていないことがわかります。unix "clear" TERM環境変数が設定されていません
execve(args[0], args, environ);
環境=
char* environ[] = {NULL};
が、私はそこに配置する必要があるものがあります:それはこれとは何かを持っている場合、私は疑問に思って? execvpを使用しないことを好むだろう。任意のヘルプが評価されます
はい、それはそれに関係します。 TERMやその他の値を含める環境が必要です。HOME、PATHはすぐに気にしてください。 POSIXの最小値を確認してください。 –