繁体   English   中英

用execl在xterm中执行bash命令的C程序

[英]C program that executes bash commands inside xterm with execl

我有一个在Linux上的普通终端中执行良好的命令:

xterm -e bash -c "some commands"

我想使用c程序execXX系统调用执行上面的命令。 我尝试使用以下代码,但它给了我一个正常的xterm窗口。

execl("/usr/bin/xterm", "/usr/bin/xterm -e bash -c \"some commands\"", NULL);

有什么办法可以使用execXX系统调用执行上面的命令吗? 谢谢!

您需要将其称为:

execl("/usr/bin/xterm", "/usr/bin/xterm", "-e", "bash", "-c", "some commands", (void*)NULL);

惯例是让第一个参数与程序的路径相同。 如果您在参数空间中,将它作为调用同样的效果xterm 'something with spaces' ,而不是xterm something with spaces

一个可能的切线:你有什么理由需要在xterm专门运行吗? 如果你只想运行一些shell命令,那么在/bin/sh/bin/bash运行它们会更自然,而且可能更可靠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM