一、任务要求
[ 1 ] 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容 (4分)
我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题
核心是要求GPT:请你以苏格拉底的方式对我进行提问
然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:你的理解(回答)是什么?
如果你觉得差不多了,可以先问问GPT:针对我XXX知识点,我理解了吗?
GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:我的回答结束了,请对我的回答进行评价总结,让它帮你总结一下。
[ 2 ] 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图(3分)
[ 3 ] 实践过程截图,代码链接(2分)
[ 4 ] 其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)(1分)
二、知识点归纳
- 命令行参数
$#=命令行参数的数量
$*=所有命令行参数
$S=执行sh的进程PID
$?=最后一个命令执行的退出状态
- sh变量
sh有PATH、HOME、TERM等内置变量,还可用任何符号作为sh变量,设置或赋值方式如下:
variable=string
若A是变量,则$A是变量的值。
- sh命令
- 内置命令
.file:读取并执行文件
break[n]:从最近的第n个嵌套循环中退出。
cd[dirname]:更换目录
continue[n]:重启最近的第n个嵌套循环
exit[n]:退出sh,退出状态为n。
shirt:将位置参数$2,$3重命名
read命令
- Linux命令
echo命令:将参数字符串作为行回显到stdout
expr命令:简介修改sh变量的数值
3.实用命令
akw、cmp、comm、diff等
- 命令替换
在sh中。$A会被替换为A值。当sh遇到'cmd'或$(cmd)时,会先执行cmd,然后用执行的结果字符串替换$(cmd)。
- sh控制语句
1.if-else-fi语句
2.if-elif-else-fi复合语句
3.for语句
4.while语句
三、苏格拉底挑战
四、实践截图
sh脚本实践
- hello world
- 设置变量
- 位置参数变量
- 条件判断
- 循环
五、语言学习总结
-
变量和数据类型:能够声明和使用变量,已经有各种数据类型,如整数、浮点数、字符串、数组等。在sh脚本中,变量用于存储数据,并且通常是字符串类型。
-
运算符和表达式:能够使用运算符进行数学和逻辑运算,以及构建复杂的表达式。sh脚本中也支持这些运算符和表达式。
-
条件语句:能够编写条件语句(如if-else、switch等),根据条件执行不同的代码块。在sh脚本中,有if-else-fi语句和if-elif-else-fi语句,用于控制流程。
-
循环结构:能够编写循环结构(如for、while、do-while等),以便多次执行相同或类似的操作。在sh脚本中,有for循环,while语句等可以完成循环的操作。
-
函数:能够定义和调用函数,以便将代码组织成可重用的模块。在sh脚本中,可以使用func() {}进行函数的声明。
-
输入和输出:能够处理输入数据并生成输出数据。在sh脚本中,可以使用read来读取用户输入,并使用echo或重定向操作符将输出发送到屏幕或文件。
-
错误处理:能够处理错误和异常情况,以确保程序能够顺利运行。在sh脚本中,可以使用条件语句和错误检测机制来处理错误。
-
文件操作:需要进行打开、读取、写入和关闭文件,以及文件和目录的管理。在sh脚本中,使用命令来执行文件操作。
-
数据结构和算法:需要各种数据结构(如数组、列表、字典等)和算法,以解决复杂的问题。在sh脚本中,通常使用数组这种数据结构来处理数据。
-
调试和测试:需要调试程序,找出问题并进行修复。在sh脚本中,可以使用echo语句来输出调试信息,或者使用set -x来启用调试模式。