Bashを介して子プロセスに渡される環境制御

Bashを介して子プロセスに渡される環境制御

私はx86_64 GNU / Linuxを使用しています。bash

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    system("set > setc");                           // A subset of `$ set`

    return 0;
}

setcファイルにが含まれていることがわかります$ set
シェル(親プロセス)が子プロセスに提供するものと提供しないことをどのように決定するのか疑問に思います。
子プロセスにさらに環境変数を提供するにはどうすればよいですか?どのように制御できますか?

ベストアンサー1

シェル組み込みは、set環境にエクスポートされた変数だけでなく、すべての変数を表示します。

環境に変数を追加するには、export variablenameシェルで実行します。

おすすめ記事