我想为我的用户向所有终端发送消息。
echo -e "\nHello" > /dev/pts/1
工作正常,但
echo -e "\nHello" > /dev/pts/*
行不通
而我需要通过C代码来实现。
像这样。
if(fork() == 0){
execl("echo -e '\nHello' > /dev/pts/*", NULL);
return 0;
}
你可以简单地使用一个bash循环。
for f in /dev/pts/*; do echo -e "\nHello" > $f; done
另外,你应该使用 "system "来调用shell命令。
#include <stdlib.h>
void main(void) {
system("for f in /dev/pts/*; do echo -e '\nHello' > $f; done");
}