十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你好,
目前成都创新互联公司已为近千家的企业提供了网站建设、域名、网络空间、网站托管、服务器租用、企业网站设计、会泽网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
着要伍型看你怎么要这个命令参数了。
一般来说可以用 $(xxxxx) 或者 `xxxxx` (数字1左边的那个引号)做命令的嵌套
jiangtao@Gentoo ~/temp $ date
2013年 03月 07日 星期四 21:44:23 CST
jiangtao@Gentoo ~/temp $ echo 现在时间是:`date`
现在时间是:2013年 03月 07日 星期四 21:44:45 CST
jiangtao@Gentoo ~/temp $ echo 现在时间是:$(date)
现在时腔消猜间是:2013年 03月 07日 星期四 21:44:57 CST
jiangtao@Gentoo ~/temp $
管道符是另一种用法,这是用“标准输入输出”给命令做数据。
但要注意,这一般是需要处理的数据,不是作为一个程序的参数。第二个命令必须支持桥蔽管道符输入数据才行。
参数和管道符提供的数据流是不同的概念。
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);//打印输出结喊猛果
}
/*-楼主可以参考一下我写的这段程序---------*/
/*-----用stat函数得到文件信息,并用函数转化为文本输出,就跟蠢罩ls命令一样-----*/
/*----------注释我写得很详细,望采纳-----------*/
#include sys/types.h /*-----这三个头文件一定要有-*/
#include sys/stat.h
#include unistd.h
#include stdio.h
#include stdlib.h
#include string.h
void mode_to_letter(int mode,char *str)
{
/*-------这个函数用来把模式值转化为字符串------*/
str[0]='-'; /*------这里的S_*****都是宏定义,用来判断模式属性-*/
if(S_ISDIR(mode)) str[0]='d';/*-文件夹-*/
if(S_ISCHR(mode)) str[0]='c';/*-字符设备-*/
if(S_ISBLK(mode)) str[0]='b';/*-块设备-*/
if(mode S_IRUSR) str[1]='r';/*--用户的三个属性-*/
else str[1]='-';
if(mode S_IWUSR) str[2]='w';
else str[2]='-';
if(mode S_IXUSR) str[3]='x';
else str[3]='-';
if(mode S_IRGRP) str[4]='r';/*--组的三个属颤银性-*/
else str[4]='-';
if(mode S_IWGRP) str[5]='w';
else str[5]='-';
if(mode S_IXGRP) str[6]='x';
else str[6]='-';
if(mode S_IROTH) str[7]='r';/*-其他带洞闹人的三个属性-*/
else str[7]='-';
if(mode S_IWOTH) str[8]='w';
else str[8]='-';
if(mode S_IXOTH) str[9]='x';
else str[9]='-';
str[10]='\0';
}
int main(int argc,char *argv[])
{
struct stat sb;/*- 定义stat结构--*/
char str[12];
if(argc!=2){
fprintf(stderr,"Usage: %s pathname\n",argv[0]);
exit(EXIT_FAILURE);
}
if(stat(argv[1],sb)==-1){/*-stat函数,详情请 man 2 stat 查看 -*/
perror("stat");
exit(EXIT_FAILURE);
}
printf("Mode:%lo(octal)\n",(unsigned long)sb.st_mode);
mode_to_letter(sb.st_mode,str);
printf("Mode:%s\n",str);
return 0;
}