Linux学习——shell编程

小结(一):Linux编程 —字符测试与数据转换函数

先看一道比较经典的题目:

题目1. 现有文件名为tmp的文件,内容为:Linux Programmer 

请编写一段shell程序顺序完成以下操作: 

1.建立temp.c源文件; 

2.从键盘输入程序代码,并写入temp.c文件,用C程序实现对tmp文件的读取显示其内容; 

3.统计tmp中的字节数,并显示tmp的属性; 

4.对temp.c文件进行编译,并执行。


解法如下:1.新建一个csdn.sh文件命名

  2.按题中要求在csdn.sh文件中写如代码实现这些操作

#/!bin/sh
touch temp.c
cat>temp.c<<"end"
#include <fcntl.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <unistd.h> 
#define BUFFERSIZE 20 

int main(int argc,char *argv[]){
   int tmp=open("./tmp",O_RDONLY);
   char buffer[BUFFERSIZE];
   ssize_t count;
   unsigned int total=0;
   while((count=read(tmp,buffer,BUFFERSIZE))>0){
      if(write(STDOUT_FILENO,buffer,count)<count)
           perror("write error");
      else
           total+=count;
   }
   printf("total char:%d\n",total);
   close(tmp);
   exit(0);
}
end
wc -c tmp
ls -l tmp
gcc -o csdn.out temp.c
chmod u+x csdn.out
./csdn.out

3.通过TOP命令./csdn.sh即可。






你可能感兴趣的:(linux,shell,Linux编程)