要如何在c code執行setenv - Linux

Table of Contents

我的程式是寫execlp("setenv","setenv","PATH","bin/",NULL);
但是執行的時候沒反應

我猜是因為我setenv的檔案位置寫的不對

所以我必須知道setenv的檔案位置

所以我在PATH的各個檔案位置路徑用find尋找setenv
但是都找不到

甚至我直接查根目錄 find / -name "setenv"
過程中有出現一些find:permission denied
結果也找不到setenv的位置。

想請問有甚麼方法可以查setenv的位置?

還是說不能用execlp()開setenv,要用system()?
(我試過寫成 system("setenv PATH bin/") 也不行)

--

All Comments

Olivia avatarOlivia2015-11-05
env是程式執前行被配置好的變數,該程式最多能影響child
process,要改變自己的env variables,簡單講DOS還可能,其
John avatarJohn2015-11-07
他有保護的OS,就早睏早眠
Olga avatarOlga2015-11-09
看你的文章,你對env還不是很瞭解,建議你先在shell中再開
新shell,然後設env variables,再exit child shell,看看母
Mason avatarMason2015-11-10
shell有看到什麼鬼? 這概念在working directory也類似
Candice avatarCandice2015-11-12
stdlib.h 裡有 setenv() 可用
Frederica avatarFrederica2015-11-15
第2行更正:要改變自己的 -> 要改變parent的
Harry avatarHarry2015-11-17
可以請您先把 shell 內部命令、環境變數、子 process 的
概念搞清楚嗎?
James avatarJames2015-11-19
請你不要再問蠢問題了 問題再蠢都回答你了 結果你刪掉
Franklin avatarFranklin2015-11-20
要是我現在還是板主 一定把你永久水桶