将一条命令的执行结果取得命令执行结果的值有:
成都创新互联公司专注于浦城企业网站建设,响应式网站建设,成都做商城网站。浦城网站建设公司,为浦城等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务
1、使用反引号`` (数字键1左边的键,tab键上面,英文方式输入) 如:a=`echo "hello world"`;即将命令 echo "hello world"的输出赋给变量a2、可以使用 $(()),如:a=$(echo "hello world"),即将命令echo "hello world"的输出赋给变量a。
以下为具体语句:
可以用
$?
获取上一条shell命令的返回结果。
一般的约定是:
表示成功,非0表示失败。
例如:你可以试验一下
执行正确的shell
命令:
执行
ls,然后紧接着
echo
$?
执行错误的shell
命令:
执行
ls
/abcdefg,然后紧接着
echo
$?
不很明白您的问题。Linux下每个用户用他们各自的用户名登录,每个用户名下都有.bash_history(除非该用户或Admin另外设置),所以每个用户只会看到自己的history,而Admin只要去不同的用户下看该用户的.bash_history文件,就知道该用户的历史。
如果您的用户都是共用同一个用户名,那就很难查了。
void executeShell(const char *shell){
FILE *stream;
char buf[1024];
memset( buf, '\0', sizeof(buf) );//初始化buf,以免后面写如乱码到文件中
stream = popen( shell , "r" ); //将命令的输出 通过管道读取(“r”参数)到FILE* stream
fread( buf, sizeof(char), sizeof(buf), stream); //将刚刚FILE* stream的数据流读取到buf中
pclose( stream );
printf("%s \n",buf);//打印输出结果
}