私は小さなUNIXシェルを作成していますが、execveにはsed
という問題があります。 sed -e 's/Roses/Turnips/'
を実行すると、コマンドはexecveで失敗します。sedでexecveが失敗する
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
int main(int ac, char **av, char **envp)
{
char *argv[] = { "/usr/bin/sed", "-e", "'s/Roses/Turnips/'", 0 };
execve(argv[0], &argv[0], envp);
fprintf(stderr, "Failed!\n");
return -1;
}
エラー:
/usr/bin/sed: -e expression #1, char 1: unknown command: `''
一重引用符をエスケープしようとしましたか? – t0mm13b