加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

《Unix/Linux系统编程》第十章学习笔记

发布时间:2023-10-26 11:06:43 所属栏目:Unix 来源:互联网
导读: sh编程
本章讨论了sh编程,阐述了sh脚本和不同版本的sh;比较了sh脚本与C程序,并指出了解释语言和编译语言的区别;详细说明了如何编写sh脚本,包括sh变量、sh语句、sh内置命令、常规系统命令和

sh编程

本章讨论了sh编程,阐述了sh脚本和不同版本的sh;比较了sh脚本与C程序,并指出了解释语言和编译语言的区别;详细说明了如何编写sh脚本,包括sh变量、sh语句、sh内置命令、常规系统命令和命令替换;解释了sh控制语旬,包括测试条件、for循环、 while 循环、do-until循环、case语句等;说明了如何编写 sh 函数以及使用参数调用 sh 函数。

sh脚本

sh脚本是一个包含sh语句的文本文件,命令解释程序sh要执行该语句。

sh脚本与C程序

这两者之间有一些相似之处,但在根本上是不同的。

sh是一个解释程序,逐行读取脚本文件并直接执行这些行。如果行是可执行命令且为内置命令unix系统编程,那么sh可直接执行。否则,他会复刻一个子进程来执行命令,并等其终止后再继续。

C语言必须先编译连接到一个二进制可执行文件,然后通过sh的子程序运行。

命令行参数

可使用与运行sh命令完全相同的参数调用sh脚本。

$#=命令行参数$1到$n的数量

$*=所有命令行参数,包括$0

$S=执行sh的进程PID

$?=最后一个命令执行的退出状态(成功为0)

sh中的引号

想要把特殊字符用作普通字符,可使用\或单引号。

sh命令sh控制语句if-else-if语句

test string1 COMP string2 OR [string1 COMP string2]

除了比较字符串或数值,还可以测试文件操作中的文件类型和文件属性。

for语句点击查看代码

 for VARIABLE in string1 string2...stringn
   do
      commands
   done

while语句点击查看代码

 while [confition]
    do
      commands
    done

I/O重定向

当进入sh命令时,我们可以指示sh将I/O重定向到除默认文件意外的文件。

>file stdout转向文件,如果文件不存在,将会创建文件。

>>file stdout追加到文件。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章