gpt4 book ai didi

c - 如何使用exec函数启动登录shell(csh)?

转载 作者:行者123 更新时间:2023-11-30 17:48:05 27 4
gpt4 key购买 nike

我已经知道我可以使用参数-l来启动bashksh作为登录shell,所以我不不必获取诸如 ~/.profile~/.bash_profile 等文件。但是在csh中,这句话

execl("/bin/csh","csh","-l","-c","env",NULL);

错误,错误信息为

Unknown option: `-l'

但我查了一下 csh man page并发现 -l 的意思是

"The shell is a login shell. Applicable only if -l is the only flag specified.".

所以我把这句话改成了

execl("/bin/csh","csh","-l",NULL);

execl("/bin/csh","csh","-c","env",NULL);

但是当我运行该程序时,它暂停在那里。能告诉我怎么解决吗?

最佳答案

尝试以这种方式运行它:

execl("/bin/sh","sh","-l","-c","exec csh -l",NULL);

顺便问一下,您怎么知道其他 shell 的 -l 就是解决方案? ;)

关于c - 如何使用exec函数启动登录shell(csh)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18709982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com