我自己反省,每次我读书时所写的学习博客的收获和心得不应该以书名为题目1、2、3.....下去,这样别人不好读我的博客,又不便于我自己从题目一眼看到那次博客的内容,因为我自己的博客有时自己也很有用,需要重新复习或忘记的知识点往往需要从题目中需找到那次学习的内容,所以我从今改了,以博客内容为题目,文中在表明出处.....
我准备学习嵌入式驱动方面的知识了,但是我必须步步为营,把以前linux应用程序设计、ARM系统开发、系统移植和内核开发,这些知识点重新复习。所谓温故而知新嘛....这就是我的性格了、喜欢一步一步踏踏实实的走,因为我的心告诉我要这样,我只听从自己的内心的.....好了好了又啰嗦了,O(∩_∩)O哈哈~,我们先从linux应用程序开始复习吧!
linux应用程序---这个版块的知识很多,也很重要!
先来一个框架性的东西吧,鸟瞰一下.....
(1)shell 程序设计
(2)文件操作
(3)进程和信号
(4)进程间的通信--管道、信号、共享内存
(5)线程
(6)信号量、消息队列
(7)网络编程
shell 程序设计
一.什么是shell?
简单地说,就是命令解释器,将用户输入的指令转换为相应的机器能够运行的程序。
种类:
(1)
bourne shell (sh)
(2)
korn shell (ksh)
(3)
bourne again shell (bash)
(4)
c shell (csh 和tcsh)
(5)
TENEX/TOPS C shell (tcsh)
Shell脚本
Shen脚本是一个包含一系列命令序列的文本文件。当运行这个脚本文件时,文件包含的命令序列将得到执行。
二.创建脚本
Shell脚本的第一行必须是如下格式:
#!/bin/sh
符号#!告诉系统同一行上紧跟在他后面的那个参数是用来执行本文件的解析程序。
这个例子中/bin/sh是默认的shell程序。
看下面这个脚本例子:
#!/bin/sh
for file in *
do
if grep -q POSIX $file
then
echo $file
fi
done
exit 0
上例知识点1:因为脚本程序本质上被看做是shell的标准输入,所以他可以包含任何能够通过PATH环境变量引用到的Linux命令。
知识点2:exit 命令的作用是确保脚本程序能够返回一个有意义的退出码,当程序以交互式方式运行时,我们很少需要检查它的退出码,但如果你打算从另一个脚本程序里调用这个脚本程序并查看它是否执行成功,则返回一个适当的退出码就很重要了。即使你重来没有想过你的脚本程序被另一个脚本程序调用,你也应该在退出时返回一个合理的退出码。请相信自己的脚本程序是有用的,它总有一天会作为其他脚本程序的一部分而被重用。
知识点3:在shell程序设计里,0表示成功。
知识点4:上面脚本程序没有任何文件扩展名和后缀。一般情况下,linux和Unix很少用文件扩展名来决定文件类型。我们可以使用.sh来扩展名,但shell并不关心这一点。大多数预安装的脚本程序没用用任何文件扩展名,检查这些文件脚本是否是脚本程序的最好方法是使用file命令,例如:file 文件名 来查看是否是脚本文件。如图:
三.把脚本设置为可执行
上面我们已经有了自己的脚本文件,要想运行它有两种方法:
1.最简答的方法:在调用shell的时候把脚本文件名当成一个参数,如下:
/bin/sh filename
2.通过chmod 改变脚本的执行权限,如下:
chmod +x filename
(笔者最常用的就是更改其权限为777 即:chmod 777 filename 不过这样存在一定的安全性问题)
然后我们可以用下面的命令来执行它:
filename
你可能会看到一条错误信息告诉你未找到命令,这种情况很可能发送,因为shell环境变量PATH没有设置为当前目录下查找要执行的命令。要解析这个问题,一种办法是在命令航上直接输入命令PATH=$PATH:. 或者编辑你的.bash_profile文件,将刚才这条命令添加到文件末尾,然后退出登录后再重新登录进来。另外,也可以在保存脚本程序的目录中输入命令./filename ,该命令的作用是把脚本程序的完整的相对路径告诉shell.
用./来指定路径还有另一个好处,它能够保证不会意外执行系统中与你的脚本文件同名的另一个命令。
分享到:
相关推荐
精通 LINUX & UNIX Shell 程序设计.pdf
大学期间学习linux下的shell编程--考勤系统 带详细实验报告
Linux课件序列:第三节shell程序设计
手工代码实现的入门shell程序设计实验,分别使用case和if语句实现。
linux程序设计shell程序设计case语句,书上的例程,大家可以下来学习
Linux实验报告(详细)
基于 Linux 的简单 Shell 程序设计
操作系统-shell程序设计.ppt 供初学者使用 shell是一种命令解释程序,shell解释用户输入的命令行,提交系统内核处理,并将结果返回给用户。一旦用户注册到系统后,shell就被系统装入内存,并一直运行到用户退出...
Linux+shell编程课程设计——Linux用户管理的shell程序设计
Linux实验报告(详细)
题目名称 linux shell程序设计实验2 题目关键字 linux shell程序设计实验2 题目录入时间 2013-5-6 10:26:43 题目内容 按要求完成课本实验7。 题目创建人 邝颖杰 题目注释 把3个程序文件打包提交即可。
浙江大学Linux程序设计实验1Linux shell基本命令
实验三 嵌入式 linux-shell程序设计实验
UNIX和Shell程序设计权威教程pdf
仅供参考,异地ing要在自己的虚拟机上面跑...这个主要是关于Ubuntu机器的一些shell程序设计的一些题,用于浙江工业大学的一个计算机学院Linux课的实验,我拿来直接用,帮我挣点分,我也想从这上面下载一点有用的知识。
重点突出:对C语言本质和Linux程序设计中容易遇到的问题和难点进行了深入剖析 对比讲解:对Linux和Windows系统开发中的相关概念进行了对比讲解 注重实用:提供了643个典型示例、412个开发技巧和2个综合开发...
PPT文档 详细介绍了Linux shell程序设计的要点。。
linux程序设计——shell程序设计(第二章)中的shell语法
linux shell 编写的基础知识!
LINUX SHELL脚本程序设计;LINUX系统实践;操作系统: 任何 Unix/Linux 或 Windows 系列;应用系统: SHELL 或 Windows 环境下的 Cygwin64 终端模拟器