作者descent (「雄辯是銀,沉默是金」)
看板LinuxDev
標題Re: [問題]想在C程式中執行Linux指令
時間Fri Jan 16 11:09:17 2015
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
system("ls");
chdir("/mnt");
printf("========change /mnt=======\n");
system("ls");
return 0;
}
不知道這是不是你要的, 我的程式在 /tmp 執行, 離開程式會並不會改到
/mnt。
如果你是要這種功能, 那得另外找方法, 這不是容易的事。
binary backs 繁體中文 p346 有提到這個問題。
※ 引述《jumiboy (jumiboy)》之銘言:
: 首次發文請多包涵,
: 想用C語言執行Linux指令,
: 有查道使用stdlib.h內的system("")可以解決,
: 但想要切換目錄(cd)或是執行(./)的時候都沒有反應,
: 爬到文說可以使用chdir,
: 由於剛接觸程式語言,
: 不太懂要怎麼使用chdir,
: 或是板上有人能提供更好的解決方法,
: 感激不盡。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.196.222
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1421377761.A.61D.html
→ filiaslayers: 不知道call一個script用source能不能 01/16 14:23
※ 編輯: descent (182.234.91.197), 01/18/2015 00:42:42
推 Qbsuran: "sh script.sh" 應該沒問題吧@@ 01/25 16:58