2016-11-06 22 views
0

私は現在Unixについて学んでおり、一時的な環境パスの設定に関する質問があります。私はそれが左から右へ、最初に定義されたパスから始まる$ PATHに定義されたすべてのパスで「登録」を検索します、私の理解から、スクリプトの一時環境変数を設定する

///home/jason/Public/TestTempEnv.c 
putenv("PATH=$PATH:/home/jason/Public/:/home/jason/Private/"); 
system("register"); 

、Cに次のスクリプトを持っています。

Pythonスクリプトは、一時パスしてからTestTempEnv.cスクリプトを呼び出しを設定し、私は次のことを行いPythonスクリプトを使用している場合

import os 
os.system("export PATH=/home/lucy/:$PATH && /home/jason/Public/TestTempEnv") 

しかし、TestTempEnv.c内の最後のパスが、その前に追加/home/lucy/パスを持っていますregisterを実行しますか?ちょうどあなたがexecveのと正確なのenv VAR使用することができ、私はコマンドを使用してCスクリプトをコンパイルしていることをgcc TestTempEnv.c -o TestTempEnv

+1

間接的な回答:straceコマンドを使用して、プロセスが何をするかを知ることができます。 –

+1

あなたの質問は何ですか?どちらの構文もPythonのバージョンがPythonではなく、どちらも移植性が悪い場合でも動作します。 –

+0

@ Jean-FrançoisFabreさん、Cファイルの最終パスに 'register'を実行する前に'/home/lucy'が追加されているかどうかを知りたいです –

答えて

0

を追加する

: int型はexecve(定数のchar *のfichier、するchar * constの[] ARGVを、char * const envp []); the manを参照

関連する問題