`

linux下执行shell

 
阅读更多

执行shell:

 

int runCommand(string cmd, char* result=NULL, int readLen=0){
    FILE *fp;
    const char *sysCommand = cmd.data(); 
    MY_LOGE("runCommand:%s\n", sysCommand);
    if ((fp = popen(sysCommand, "r")) == NULL) { 
    	MY_LOGE("---runCommand error...\n");
        return -1;
    }
    if(result==NULL||readLen==0) {
    	MY_LOGE("---runCommand not need result...\n");
		pclose(fp);
		return 0;
    }
    if(fgets(result, readLen, fp) != NULL){ 
    	MY_LOGE("---runCommand result(%d):%s\n", strlen(result), result);
    }
    pclose(fp);
    return 0;
}

 

string cmdGetIP = "ifconfig | grep 'inet addr:' | awk '{print substr($2, 6)}'";  
runCommand(cmdGetIP, myDeviceIP.get(), 15); 

popen()函数较于system()函数的优势在于使用简单,popen()函数只返回两个值: 成功返回子进程的status,使用WIFEXITED相关宏就可以取得command的返回结果; 失败返回-1,我们可以使用perro()函数或strerror()函数得到有用的错误信息。

 

分享到:
评论

相关推荐

    从Linux程序中执行shell(程序、脚本)并获得输出结果

    在Linux程序中,有时我们需要执行shell命令并获取其输出结果,以便在程序内部处理或显示。这通常是通过几种不同的方法实现的,包括使用临时文件、匿名管道和`popen`函数。下面详细介绍这些方法。 1. **使用临时文件...

    linux下执行shell命令方法简介

    linux下执行shell命令有两种方法 在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令...

    java连接linux,执行shell命令的工具类 sshxcute.jar

    在Java开发中,有时我们需要远程连接到Linux服务器执行shell命令,比如进行系统管理、自动化运维或者数据处理等任务。在这种情况下,使用SSH(Secure Shell)协议是常见的解决方案,因为它提供了安全的网络通信。...

    Linux 下 Shell的工作原理

    一旦找到命令,Shell会将其转化为一系列系统调用传递给Linux内核执行。 Shell还具备程序设计语言的特性,允许用户编写脚本来自动化重复性任务。它支持条件语句、循环、函数等高级编程元素,使得用户可以通过编写...

    Linux下使用popen()执行shell命令.docx

    Linux 下使用 popen() 执行 shell 命令 在 Linux 操作系统中,popen() 函数是一个强大的工具,允许开发者执行 shell 命令并获取其输出结果。popen() 函数通过创建一个管道,调用 fork() 产生一个子进程,执行一个 ...

    Linux与UNIX Shell编程指南.pdf

    Shell是Linux与UNIX操作系统下的命令行接口,提供了交互式的命令输入和执行环境。Shell既可以作为用户与操作系统之间的接口,也可以作为脚本编程语言来自动执行复杂的任务。常见的Shell包括Bash、Zsh、Ksh等。 2. ...

    这是linux之shell练习的题目

    #### 一、Linux 下执行 Shell 脚本的方式 Shell 脚本是 Linux 和 Unix 系统中非常重要的组成部分,它允许用户通过编写一系列命令来自动化复杂的任务。执行 Shell 脚本有两种主要方式: 1. **使用 shell 程序执行...

    Linux 命令与Shell 脚本编程pdf书籍

    Shell脚本是Linux系统中的一种自动化工具,可以编写一系列命令并将其打包成一个可执行文件,极大地提高了工作效率。书中详细讲解了Bash Shell的基础知识,包括变量、条件语句(如`if-else`)、循环结构(如`for`和`...

    linux下批量执行oracle脚本的shell脚本

    首先,我们来看标题中的"linux下批量执行oracle脚本的shell脚本",这指的是在Linux操作系统中,通过编写shell脚本来自动化执行一系列针对Oracle数据库的SQL命令。Shell脚本是Linux系统中的一种强大的自动化工具,它...

    linux下shell脚本实现数据的导出

    接下来,我们看看Java代码部分,这部分代码是用于执行shell脚本的: ```java String shfilepath = ServletActionContext.getServletContext().getRealPath("/"+"download/shell/backup.sh"); String exp = "sh " + ...

    Linux下Shell命令解释步骤程序实现

    本文将详细讲解 Linux Shell 命令解释步骤的实现过程,包括打印提示符、得到命令行、解析命令、查找文件、准备参数和执行命令等步骤。 打印提示符 在 Linux Shell 中,打印提示符是 Shell 解释命令的第一步。 ...

    linux下实现shell

    Linux下的Shell是操作系统与用户交互的主要接口,它是一种命令解释器,允许用户通过输入命令来执行系统操作。本文将深入探讨如何在Linux环境下实现基本的Shell功能,包括`ls`、`pwd`、`cd`以及`exit`。 首先,`ls`...

    Linux命令执行程序shell

    在linux下,C语言实现的模拟shell程序。能够显示每条命令使用的cpu时间、进程中断次数、换页次数。

    Linux下基于Shell脚本的聊天工具.pdf

    【Linux下基于Shell脚本的聊天工具】 在Linux操作系统中,Shell脚本是一种强大的工具,它作为用户与操作系统之间的接口,允许用户通过命令行界面执行各种任务。Shell不仅能够解释和执行用户输入的命令,还能作为...

    linux下的shell与make

    ### Linux下的Shell与Make知识点详解 #### 一、Shell基础 **1.1 什么是Shell** - **定义**: Shell作为用户与Linux操作系统之间的接口,它既是命令解释器也是支持多用户的编程环境。 - **功能**: 支持多用户操作...

    shell编程入门经典--LINUX与UNIX Shell编程指南 (中文pdf版)

    Shell编程是Linux和UNIX系统中的核心技术,它允许用户通过命令行界面编写脚本来执行一系列操作,极大地提升了工作效率。 首先,我们需要理解什么是Shell。Shell是操作系统提供的一种用户接口,它允许用户通过命令行...

Global site tag (gtag.js) - Google Analytics