Linux系统,c代码里执行shell命令重定向问题
发布网友
发布时间:2022-04-26 05:42
我来回答
共2个回答
热心网友
时间:2022-04-18 17:19
你可以试试popen 这个函数去实现下:
#include <stdio.h>
#include <string.h>
int main(void)
{
char tmp_buf[1024+1];
FILE *fp;
memset(tmp_buf, 0, sizeof tmp_buf);
fp = popen("ls -l", "r");
if(fp != NULL)
fgets(tmp_buf, sizeof(tmp_buf), fp);
printf("out:[%s]\n", tmp_buf);
pclose(fp);
return 0;
}
热心网友
时间:2022-04-18 18:37
可以输出到文本,用管道命令
linux shell中关于输入重定向的问题
在 IO Redirection 中,stdout 或 stderr 的管道总是会先准备好,然后才将命令执行结果给导入。你给的例子中,先重定向到/111.txt,再重定向到/222.txt,因此管道最终是接入了/222.txt。stdout只有一根管道,输入端是固定的,你只是在不停地移动输出端,当然是以最后的为准啦。建议你去看看《Shell...
linux shell数据重定向详细分析
一个命令执行前,先会准备好所有输入输出,默认分别绑定(stdin,stdout,stderr),如果这个时候出现错误,命令将终止,不会执行。命令解析过程,可以参考:Linux Shell 通配符、元字符、转义符使用实例介绍 这些默认的输出,输入都是linux系统内定的,我们在使用过程中,有时候并不希望执行结果输出到屏幕。我想输出到文件或其它设备...
linux的shell编程处处定向里的 &> 和 2> 是什么意思?
2是标准错误 &>代表后台重定向 2>代表标准错误重定向
linux输入重定向接EOF的问题
你的例子里,ORACLE_HOME/bin/rman log=${RMAN_FILE}.log 你可以看做是一条命令,“log=。。。”是rman的一个参数 ”...B...“在你说的情况下就是rman的命令,这样就不用交互式使用rman,而是一条条自动执行 rman所有命令执行完后,返回到shell,继续执行shell命令”...C...“部分 再给你...
linux 执行过程和结果显示的 重定向
dd of=/home/ltk/ddd 没问题 执行的标准输出用dd传入文件是没问题的, 其实用不着dd ,用标准输出和错误重定向即可解决 。tar -cvf - ff fff bb >/home/ltk/ddd 2>&1 然后, 如果有出错或者正常都会被写入 /home/ltk/ddd。
linux用的SHELL脚本问题,麻烦各位大侠们不吝赐教了,小弟感激涕零啊...
!/bin/sh while true; do #一直不停地循环,执行下面内容 ping -w 5 -c 1 192.168.1.1 >/dev/null 2>&1 #ping第一个IP地址,并重定向 if [ $? -eq 0 ]; then #如果ping通取消关机关机动作 shutdown -c #取消关机动作 ping -w...
简述linux系统中有哪些重定向的方式
使用文件描述符,在shell中,默认用数字0,1,2分别代表标准输入、标准输出、标准错误。屏蔽不想看到的信息 Linux中有一个特殊的文件/dev/null,这个文件叫做bit bucket,可以接受输入信息但是什么都不做。例如:ls /usr/ > /dev/null 重定向标准输入 cat命令可以接受一组文件为参数,将这些文件复制到...
linux 的 shell脚本编程中,如何确保一条指令指令执行成功了之后再进行下...
如果是错误输出或者没有输出,那个返回的都不是0。例:判断httpd是否启动 pidof httpd &>/dev/nullif [[ $? != 0 ]]then /etc/init.d/httpd startelse echo “httpd服务启动成功”fi刚才没看下面 make && make install 前面那条命令执行成功后才会执行后面那条命令。
C程序用system调用执行shell命令,shell终端提示要输入密码,怎么做?
重定向到fd[0]就能读取子进程写到fd[1]里的密码了 dup2( fd[0], 0 ); //把标准输入重定到fd[0]system("...");//也可以不使用dup2来重定向,可以直接在system命令里重定向 // 如 sprintf(cmd,"你要调的命令 <&%d", fd[0]);// system(cmd);} ...
shell脚本的四种执行方式(shell脚本执行shell脚本)
执行shell脚本三种方法的区别:(sh、exec、source)1、Linux系统中的命令有两种:一是内置命令,是Shell与生俱来的一部分,比如最基础的cd、echo、kill等;二是外部命令,包含已编译的实用程序以及Shell脚本两种,它们两者又可以统称为可执行文件(executables)。2、source脚本文件或者.脚本文件(.和脚本文件...