shell脚本编程(完结版)

Shell 脚本编程学习笔记 2013 年 5 月 2 日 追风~忆梦

如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论 1

Shell 脚本编程学习笔记 2013 年 5 月 2 日 追风~忆梦

目录

预备知识 3

第一节 shell 运算符应用 3

1. 整数测试运算4

2. 字符串测试运算4

3. 文件测试运算5

4. 逻辑运算5

第二节 在 shell 脚本中进行条件控制 5

第三节 在 shell 脚本中进行 for 循环 7

第四节 在 shell 脚本中进行 while 循环 8

第五节 在 shell 脚本中使用 util 循环 8

第六节 在 shell 脚本中使用函数 8

第七节 shell 脚本之 echo 和 expr 讲解 9

第八节 shell 脚本循环终止之 break 和 continue 10

第九节 shell 脚本之 exit 和 sleep 11

第十节 shell 脚本之 select 循环与菜单 11

第十一节 shell脚本之循环控制 shift 命令 11

第十二节 shell脚本之字符串操作 11

第十三节 shell脚本之数组实现 12

第十四节 shell脚本之脚本调试 12

第十五节 shell脚本之编程小结 12

程序例程 14

习题实训 29

综合实例 31

1. 需求分析31

2.系统设计31

3.程序代码31

声明 35

如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论 2

Shell 脚本编程学习笔记 2013 年 5 月 2 日 追风~忆梦

预备知识

1. shell 脚本语言:把经常使用的 Linux 命令存储在一个文件里面,shell 可以读

取这个文件并顺序执行其中的命令,这样的文件被称为脚本文件。注意:shell

脚本按行解释。

2. shell 程序设计中,用 vi 或者 gedit 等编辑器编写的代码并不需要什么后缀名。

如果硬要加上,则写上.sh 即可。有一点值得注意,当我们加上后缀之后,编

辑器会使用高亮的语法显示,避免我们出错。

3. 编写的过程中,echo 之后的引用为 “`”,即Esc 返回键的下面一个,不要认为

是单引号。准确来说,是反单引号。在 shell 命令中,一般用反单引号。

4. 编程结束之后,我们要先赋予文件的执行权利,可以用 sudo chmod 755 file,

sudo chmod 777 file 或者 sudo chmod a+x file 来赋予程序的可执行权利。

5. 前面的 1,2 ,3 弄好了之后,就是运行了,直接在终端输入:./file 即可。

6. 不要为了美观,在命令中添加多余的空格,否则会出错。特别是在环境变量

PATH,export 等,等号两侧不要加多余的空格。

7. shell 中的全局变量有以下几个:

$#: 执行 shell 脚本时的命令行参数,不包括脚本本身

$?: 执行上一条 shell 命令的返回值

$0: shell 脚本程序自身的名称

8. 用户在自定义变量时,要遵循以下命名规则:

首个字符必须是字母(a~z, A~Z )。

中间不能有空格,可以使用下划线(_ )。

不能使用标点符号。

不能使用 shell 里的关键字(通过 help 命令查看)。

9. 在 Linux 中,自动(或者叫预定义)变量包括$@,$+,$^,$?,$

其中(以下内容来源于 Makefile 的讲解),

$@表示规则中的目标文件夹集;

$+表示所有的依赖文件,以空格隔开,并以出现的先后为顺序,可能包含重

复的依赖文件;

$^表示所有的依赖文件,以空格隔开,不包含重复的依赖文件;

$?表示所有比目标新的依赖目标集合;

$

$*表示不包括扩展的目标文件名。

第一节 shell 运算

shell脚本编程for循环求阶乘_shell脚本编程(完结版).pdf相关推荐

  1. shell脚本编程for循环求阶乘_shell脚本循环及函数

    16.循环执行 将代码段重复运行多次 重复运行多少次: 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 for,while,until for循环 for 变量名 in 列表;do 循环体 ...

  2. EduCoder-程序设计技术R-循环结构程序设计2-(第1关:C循环-求平均成绩)(第2关:C循环-求各位数字)(第3关:C循环-求阶乘之和)(第4关:C循环-水仙花数)(第5关:C循环

    目录 第1关:C循环-求平均成绩 代码示例 第2关:C循环-求各位数字之积 代码示例 第3关:C循环-求阶乘之和 代码示例 第4关:C循环-水仙花数 代码示例 第5关:C循环-寻找完数 代码示例 第6 ...

  3. 11届蓝桥杯青少年组C++全国赛高级组 六.编程实现:求阶乘(python3实现)

    """ 六.编程实现:求阶乘 https://blog.csdn.net/lybc2019/article/details/120457450提示信息:阶乘定义:一个正整 ...

  4. C语言中阶第四篇:分支与循环语句练习,求阶乘的多种方法(两层for循环求阶乘)、二分查找、字符串汇聚以及模拟用户登录

    业精于勤荒于嬉,行成于思毁于随. 今天就来综合的联系一下前面的知识. 第十篇 一.for语句,两种方法计算阶乘 1.1.一层for循环求阶乘 1.2.实现阶乘累和 1.3.两层for循环求阶乘 二.i ...

  5. c语言n位水仙花数简书,Kotlin中函数式编程API(8)求阶乘和计算水仙花数

    求阶乘 计算水仙花数 前面介绍了很多函数,下面两个需求使用前面的函数将变得简单清晰. 一.求阶乘 求阶乘通常会使用递归函数调用,这比较影响性能,可以通过前面介绍的 reduce 函数实现. fun f ...

  6. shell 取中间行的第一列_shell脚本的使用该熟练起来了,你说呢?(篇三)

    继续前一篇的文章: shell脚本的使用该熟练起来了,你说呢?(篇一) shell脚本的使用该熟练起来了,你说呢?(篇二) 文章里面测试的命令脚本文件,大家关注我公众号后,可以私信我领取文件. 作者: ...

  7. shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...

    当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...

  8. shell判端mysql数据库是否存在_Shell脚本检测和检查mysql数据库是否存在坏表

    shell脚本检测和检查mysql数据库是否存在坏表 此脚本的主要用途是检测mysql服务器上所有的数据库或者单独数据库中的坏表,适用于RHEL/Centos系列 #!/bin/bash #此脚本的主 ...

  9. java循环求阶乘_在Java中用循环求阶乘

    阶乘指的是不断的与被递减的它本身相乘,每次递减1到1为止,比如3的阶乘用数学表达式是 3! ,此时它的结果等于 6. 那么如何用代码实现呢?我们可以用递归的办法,也可以用循环的办法.这里是用的循环的办 ...

最新文章

  1. 兄弟们,TechEd见!
  2. C++与Lua交互(四)
  3. java.lang包怎么用_java.lang.io包的使用
  4. js 数组/对象/日期的浅克隆
  5. leetcode 刷题140 141
  6. LeetCode 18. 四数之和 思考分析(双指针解)
  7. Spring学习笔记专题三
  8. 无意中最大的收获:《构建高性能Web站点》
  9. 用mysql生成工资条,超实用的工资表模板,一键生成工资表
  10. 浏览器 Cookie 的使用
  11. 面试常见逻辑题小整理
  12. 文本学习-《背影》-朱自清
  13. GoDaddy域名过户PUSH攻略
  14. fx5u模拟量如何读取_三菱FX5U PLC内置模拟量输入为电流怎么设置?
  15. win10python安装配置selenium
  16. 字符串操作函数strstr
  17. Word如何自动更新域
  18. final修饰符,修饰的变量、方法、类、还有一些相关注意事项
  19. Java设计模式:Build模式
  20. web开发-myeclipse下载git服务器代码方法-学习笔记五

热门文章

  1. java语言的编译器可以用python_jython实现java运行python代码
  2. 某系统有6台输出设备 有多个进程均需要使用2台_从零开始学K8s: 2.开发与部署方式的演变...
  3. http请求过程 Android,android HTTP网络请求回顾
  4. dods 机器人_胜利之日机器人补丁
  5. org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for
  6. const 作用 c语言,在C语言中const 作用的的全面总结.doc
  7. ubuntu18.04的ifconfig输出没有ip地址
  8. 计算机视觉,基于skimage对图像阈值分割的学习
  9. 网页拉起QQ进行交谈
  10. 黑箱优化:大规模语言模型的一种落地方式