当前位置:  技术问答>linux和unix

如何用C程序,或shell命令向控制台输入?谢谢。

    来源: 互联网  发布时间:2015-12-23

    本文导语:  比如:有一个等待交互的命令,让用户选:1、2、3; 如何用C程序,或shell命令向控制台输入,而不是键盘输入,谢谢。 | for(;;) { printf("n  1.    display sysPara");                 ...

比如:有一个等待交互的命令,让用户选:1、2、3;

如何用C程序,或shell命令向控制台输入,而不是键盘输入,谢谢。

|
for(;;) {
printf("n  1.    display sysPara");                                                
printf("n  2.    display masterPort Para");                                        
printf("n  3.    display meterPort Para");                                         
printf("n  4.    display meter Para");  
printf("n  5.    display masterPort TXRX data");
printf("n  6.    display meterPort  TXRX data");
printf("n  q.    quit");                                                           
printf("n  Please input your choice[1-6, q]:");                                    
}
gets(chstr);
if(strcmp(chstr,"q")==0 || strcmp(chstr,"Q")==0){
printf("n");
live_flag =0;

//delay_t(2000000);
//DestroyThread(pid);
break;
}
else if(strcmp(chstr,"1")==0) disp_SysPara();
else if(strcmp(chstr,"2")==0) disp_MasterPort();
else if(strcmp(chstr,"3")==0) disp_MeterPort(); 
else if(strcmp(chstr,"4")==0) disp_MeterPara();
else if(strcmp(chstr,"5")==0) disp_MasterPortComm();
else if(strcmp(chstr,"6")==0) disp_MeterPortComm();
}

|
看看管道是否可以,用popen打开一个程序文件,用read和write可以与之交互。

shell的话,可以看看expect命令,网上有很多资料,比如用expect可以实现自动ftp

|
使用参数, getopt C API
NAME
       getopt - parse command options

|
fp=fopen("/dev/stdin");
write(fp);

|
监听标准输入,用stdin做为中介。

|
读标准输入阿

|
楼主,请先看看popen和expect,我觉得应该对你有帮助。

    
 
 

您可能感兴趣的文章:

  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • tc编译的dos程序和vc编译的win32控制台程序的异同
  • 请问如何实现控制台下输入但是控制台不回显(说白了就是怎样写控制台程序的密码输入部分)
  • 如何实现启动一个带控制台的目标程序
  • 如何将程序输出的结果重定向到另外的控制台
  • jb5上如何运行控制台程序?
  • 创建一个kdevelop控制台c程序的问题。
  • linux控制台程序如何检测有无按键?
  • 在x-window下面怎样运行自己编号的控制台程序?
  • 要求linux开机的时候 就可以把界面重载到window控制台程序上
  • 在linux中如何卸载已经安装的程序,在xwindows中如何使用控制台命令
  • 一个控制台的小程序。
  • tty 控制台录制程序 ttyrec
  • 怎么屏蔽控制台程序的打印输出信息
  • c#取得控制台应用程序根目录
  • 如何将第三方程序(命令)输出控制台的结果写到文件里
  • C#控制台程序中处理2个关闭事件的代码实例
  • C#控制台程序在Linux中显示乱码问题
  • C#控制台带参数程序源码编写实例讲解
  • 编程,怎样把控制台的信息读取到程序里来
  • windows下cmd命令提示符下让程序后台运行命令
  • 我自己写了一个一个程序,文件名叫test。。怎么能够像调用系统命令那样子去调用我这个命令呢。在任何地方输入test就能执行这个程序。
  • 通過仕麼命令可以在運行程序的時候應藏掉命令窗口.
  • 如何在我的C语言编写的程序里面执行命令行命令,比如ls -la ??
  • java怎样实现 运行dos命令行的命令或者windows的程序
  • 请问能否在程序中嵌入命令行(linux)中的命令,如果可以应该怎样做,谢谢!!!
  • 怎么在java程序中执行系统命令或其他可执行程序(像批处理一样)?
  • 命令行界面下有什么拨号程序和irc程序吗?
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java程序在linux运行,要用Runtime.exec()执行外部命令,可外部命令中关于文件操作的路径都很长,如何使用相对路径.在线等待
  • 求助:我昨天安装了realplayer 9,结果装上了,但是当我用时,他总是说有另一个程序也在用,于是我想卸载,可是当我在命令行敲卸载命令后
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我用管道作为一个程序的标准输入时,程序报错说不是一个终端不能做为标准输入,请问怎么样管道成为它的标准输入呢???具体错误信息见内
  • 当A,B程序都在不断读入标准输入的时候, 为什么往A标准输入里面输入的数据一定能被A读到,而不是被B读到?
  • 怎样让我的程序能像mysql一样运行后有一个mysql>的提示符等待用户输入并解析用户输入的数据然后执行操作?
  • 请问linux下一个很简单的问题:我们的控制台下直接输入某个程序名就可以执行该程序,原理是什么?
  • 急!急!!急!!!如何将键盘输入的字符读入程序中???---在线等待---
  • shell script能为c程序提供输入数据吗?
  • 急问:怎样用shell编写脚本运行要输入密码的程序???
  • 怎么屏蔽控制台程序的打印输出信息 iis7站长之家
  • linux下普通用户在输入root密码下才可以执行对应程序如何实现?
  • eclipse下面调试/运行C程序,怎样输入参数?
  • 如何在java应用程序中读取键盘的输入?闪电给分。
  • 请问在Linux系统目录下怎么找得到fdisk程序或xcin输入法的源代码?
  • UNIX中有接口让应用程序来输入用户名和密码吗?
  • 如何使程序(字符界面)接受用户输入的一个浮点数,并把他的整数部分和小数部分分别输出。
  • 启动vmware时,说“无法定位程序输入点GetRawInputdeviceList于动态链接库user32.dll”
  • 如何在程序里选择切换输入法?
  • 难道用户运行程序也需要输入:java classname....吗?
  • 用程序如何才能让输入的密码不显示?
  • C程序调用system启动rsync,密码不知道怎么输入。
  • 编一个模拟shell实现的程序,怎么实现输入输出重定向?谢谢
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3