我已经知道我可以使用该参数-l来启动一个bash或ksh作为一个登录 shell,所以我不必源文件之类~/.profile的,~/.bash_profile等等。但是在csh,这句话
execl("/bin/csh","csh","-l","-c","env",NULL);
是错误的,错误的信息是
Unknown option: `-l'
但我查阅了csh 手册页并发现这-l意味着
“外壳是登录外壳。仅当
-l指定唯一标志时才适用。”。
所以我把句子改成
execl("/bin/csh","csh","-l",NULL);
和
execl("/bin/csh","csh","-c","env",NULL);
但是当我运行程序时,它在那里暂停。能告诉我怎么解决吗?</p>