20201318李兴昕第十章学习笔记

第十章:sh编程

知识点归纳总结:

本章讨论了sh编程,阐释了sh脚本和不同版本的sh。比较了sh脚本与C程序,并指出了解释语言和编译语言的区别;说明了如何编写sh脚本,包括sh变量,sh语句,sh内置命令,常规系统命令和命令替换。解释了sh控制语句,包括测试条件,for循环,while循环,case语句等。并示范了用法;说明了如何编写sh函数以及使用参数调用sh函数;举例说明了sh脚本的广泛应用,包括linux系统的安装,初始化和管理。

其中包含了sh内置命令和sh-linux命令
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:将位置参数S2 $3 ...重命名为$1 S2…。
trap [arg] [n]:接收到信号n后执行参数。
umask [ddd]:将掩码设置为八进制数ddd的。
wait [pid]:等待进程pid,如果没有给出pid,则等待所有活动子进程。

sh-linux命令:

awk:数据处理程序。
cmp:比较两个文件。
comm:选择两个排序文件共有的行。
grep:匹配一系列文件的模式。
diff:找出两个文件的差异。
join:通过使用相同的键来连接记录以比较两个文件。
sed:流或行编辑命令。
sort:排序或合并文件。
tail:打印某个文件的最后n行。
-tr: 一对一字符翻译。
uniq:从文件中删除连续重复行。

问题:一门程序设计语言有哪些必备的要素和技能?

以java为例,它拥有以下的特点:
1 语言特性:对象化程度高,oop概念贯彻始终,便于设计,修改,运用各种设计模式,有gc
2 语法类似c,简洁,清晰,数据类型扩展程度高,开发效率比c/c++语言高
3 非常广泛的Framework,提供了不少支持,包括各种数据结构支持类
4 跨平台,也有界面开发能力,有很强大的分布式处理能力
5 中间件技术,可以用于web开发,结合EJB,企业级平台优秀的开发工具

实践:测试运行sh脚本

创建.sh文件并写入代码
image
输入代码运行

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

image

实践:sh变量

代码:

#! /bin/bash
echo A  
echo $A
A="this is fun "
echo $A
B=A
echo $B
B=$A
echo $B 

image

实践:sh脚本条件语句

代码:

read who
if [ "$who" = "me" ]; then
        echo "you are male"
else
        echo "$who is female"
fi

image

实践:sh脚本for语句

代码

for FRUIT in apple orange banana cherry
do
echo $FRUIT
#print lines of apple orange banana cherry
done
for NAME in $*
do
echo $NAME
#list all command-line parameter strings
if [ -f $NAME ]; then
echo $NAME is a file
elif [ -d $NAME ]; then
echo $NAME is a DIR
fi
done

image

posted @ 2022-09-18 17:18  李兴昕  阅读(19)  评论(0编辑  收藏  举报