[英]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.