環境変数を読み取り、それらの変更を適切に処理することになっているアプリケーションを C で作成しました。アプリケーションが起動したら、 を介して先に進み、変数を初期化するように設定しました (null ポインターが返されないようにするため) setenv("MYVARIABLE", "TEST", 1)
。
このアプリケーションは頻繁にループし、ループ中のジョブの 1 つは、 を介してそのグローバル変数をチェックすることですgetenv("MYVARIABLE")
。
そのときの計画は、シェル スクリプトまたは Python スクリプトのいずれかでこれらの環境変数を変更することでした。C アプリケーションは全画面表示であるため、別のターミナル エントリなしではこのプロセスをテストする方法がありません。他の端末 ( c2
) で、次のようなコマンドを実行します。
MYVARIABLE="My New Value"
また
export MYVARIABLE="My New Value"
ただし、私のアプリケーションは環境の更新をキャッチしていないようです。代わりに、MYVARIABLE は「テスト」であり、「My New Value」ではないと主張し続けています。これら 2 つの環境が分離されている理由はわかりませんが、連携する必要があります。私が間違っていることを誰かが知っていますか?
私のシステムは、興味のある人のために Archlinux を実行しています