学习笔记
20191318 王泽文
《Unix/Linux系统编程》
第十章 sh编程
本章主要讲述了sh脚本的一些基本语法和使用。
在本章的学习中,我了解到了sh脚本语言,它和C语言和Makefile有一定的相似之处,在我看来,其就是C语言和Makefile的结合。主要学习的内容有:
- 命令行参数
$#
命令行参数(1到)n的数噩$*
所有命令行参数,包括$0$S
执行sh的进程PID$?
最后一个命令执行的退出状态(如果成功,则为0,否则为非0)
- sh命令
- 内置命令
.file
: 读取并执行文件。break [n]
: 从最近的第n个嵌套循环中退出。cd [ dirname]
: 更换目录。continue [n]
: 重启最近的第n个嵌套循环。eval [arg ...
]: 计算一次参数并让 sh 执行生成的命令。exec [arg ... ]
: 通过这个 sh 执行命令, sh 将会退出。exit[n]
: 使 sh 退出,退出状态为 n。export [var ... ]
: 将变量导出到随后执行的命令。read [ var ... ]
: 从stdin 中读取一行并为变议赋值。set [arg ...]
:在执行环境中设置变量。shift
: 将位甡参数 $2 $3 .• 重命名为 $1 $2...。trap [arg] [n]
: 接收到信号 n 后执行参数。umask [ddd]
: 将掩码设置为八进制数 ddd 的。wait [pid]
: 等待进程 pid, 如果没有给出 pid, 则等待所有活动子进程。read
:当 sh 执行 read 命令时, 它会等待来自 stdin 的输入行。
- Linux 命令
echo
命令: echo 只是将参数字符串作为行回显到 stdout。expr
命令:因为所有的 sh 变量都是字符串, 所以我们不能直接把它们改为数值。
- 管道命令:在sh脚本中经常使用管道作为过滤器
- 实用命令 :除了上面的Linux命令之外,sh还使用许多其他实用程序作为命令。
- 内置命令
- sh语句
- if-else-fi语句
- if-elif-else-fi语句
- for 语句
- while 语句
- until-do 语句
- case 语句
- continue break语句
sh编程实践:
对openEuler系统的dos界面和优麒麟gui界面的简单转换:
收获的内容
在这里,我总结一下我对Python这个语言的一些认识,以及其必备的要素和技能:
Python 是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言。其必备要素是代码,解释器,编译器和严格的格式控制。其与sh脚本有很多相似的地方,它们都是脚本型的语言都需要解释器来执行,sh用sh解释器,Python使用Python解释器。Python拥有众多扩展库,也可以用来调用shell指令。
其他
openEuler学习及问题解决
在本周的学习中,安装了openeuler系统进行学习。在安装的过程中也遇到了不少的问题。
openEuler是一个开源的系统,也就是其没有gui界面,只有dos界面。一开始,我准备安装使用优麒麟的操作界面。但由于镜像源的原因,一直无法下载安装。
解决方法:使用离线安装的方式。由于使用的是VBox的虚拟机,需要先安装增强功能及共享文件夹进行安装。具体安装流程如下链接:VirtualBox虚拟机Linux Dos界面下增强功能的安装和共享文件夹的设置及使用