我即將在Ubuntu上編寫一個簡單的shell。 我想過使用
exevcp()
函數。 我只能運行「ls」命令,其他命令似乎都不起作用。 有人能告訴我爲什麼會發生這種情況,或者給我一個更好的方法來構建shell的想法?使用execvp在C上構建一個shell我的目的是建立這個殼;我不明白爲什麼我不能把命令行放到
execvp()
函數中。#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <string.h> #include <errno.h> int main(int argc,char **argv,char **envp) { char* args[] = {"history" , NULL}; execvp(args[0],args); }
能否請你解釋一下,好嗎?
那麼你能告訴我該怎麼解決這個問題嗎? – hudac
恩,首先你寫實現,然後你調用它。 –
好吧,我明白一點,謝謝 – hudac