我應該創建一個使用C.下面是我的代碼Linux命令創建Linux外殼:幫助,用C
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#define SHELL "/bin/sh"
#include "extern.h"
int mysystem (char *command)
{
int status;
pid_t pid;
pid = fork();
if (pid == 0)
{
execl (SHELL, SHELL, "-c", command, NULL);
_exit (EXIT_FAILURE);
}
else if (pid < 0)
status = -1;
else
if (waitpid (pid, &status, 0) != pid)
status = -1;
return status;
}
一切都是正確的,當我測試使用如「ls」不同的命令代碼, 「人」,等等。但是當我使用記事本創建一個包含testfile的以下內容:
echo "hello"
exit 2
返回代碼出來是512
當它應該只是2
。 任何人都可以幫助我解決我的代碼?
誰能幫我編輯我的問題。有些東西缺失。 thx – Brian 2010-11-24 21:52:50
當你在回聲「你好」之後加上分號時它會工作嗎? – 2010-11-24 21:55:28
@Amir阿富汗尼:不,它不起作用 – Brian 2010-11-24 21:57:25