学习笔记3
知识点归纳
无论是Python、C、Java还是其他编程语言,程序设计语言通常都有一些共同的必备要素和技能。这些要素和技能在shell脚本中也可以找到对应,尽管shell脚本是一种脚本语言,与通用编程语言有些不同,但也具备类似的元素和技能。以下是一些必备的要素和技能:
语法
- 编写规范的代码: 了解语法规则,编写清晰、易读的代码。
变量和数据类型
- 变量定义: 学会声明和使用变量,了解数据类型的概念。
- 数据类型: 了解不同数据类型,如整数、浮点数、字符串等。
控制结构
- 条件语句: 学会使用if语句进行条件判断。
- 循环结构: 掌握for循环、while循环等。
函数和模块
- 函数定义和调用: 学会定义和调用函数,了解函数的参数和返回值。
- 模块: 理解模块化编程,将代码组织成可重用的模块。
输入和输出
- 输入: 学会从用户或文件中获取输入。
- 输出: 学会向屏幕或文件输出信息。
错误处理
- 异常处理: 学会处理可能出现的错误和异常情况。
数据结构
- 数组/列表: 了解如何使用数组或列表来存储多个数据项。
- 字典/哈希表: 了解如何使用字典或哈希表来存储键值对数据。
算法和逻辑
- 基本算法: 了解基本算法,如排序、搜索等。
- 逻辑思维: 培养解决问题的逻辑思维能力。
文件操作
- 文件读写: 学会打开、读取和写入文件。
版本控制
- 版本控制工具: 了解版本控制工具(如Git)的基本使用,以便协作开发。
在shell脚本中,这些要素和技能也是必备的,尽管具体语法和用法会有所不同。例如,在shell脚本中,你会使用变量、条件语句、循环、函数定义和调用等。文件操作也是常见的需求,特别是用于自动化任务和系统管理。
总之,无论是哪种编程语言或脚本语言,掌握这些基本要素和技能对于成为一个有效的程序员都是至关重要的。不同的语言有不同的语法和特性,但这些基本概念是跨语言的,并且为构建各种类型的应用程序提供了坚实的基础。
命令替换
在sh中,$A会被替换成A值/同样,当sh遇到'cmd'或$(cmd)时,它会先执行cmd,然后用执行的结果字符替换$(cmd)
sh控制语句
if-else-fi语句
语法:
if [condition]
then
statemates
else
statements
fi
if-elif-else-fi语句
语法:
if [condition];then
commands
elif [condition2];then
commands
else
commands
fi
for语句
语法:
if [condition];then
commands
elif [condition2];then
commands
else
commands
fi
while语句
语法:
while [condition]
do
commands
done
until-do语句
语法:
until [ $ANS = "give up" ]
do
echo -n "enter your answer"
read ANS
done
case 语句
语法:
case $variable in
pattern1) commands;;
pattern2) commands;;
patternn) commands;;
esac
I/O重定向
当进入sh命令时,我们可以指示sh将I/O重定向到除默认stdin、stdout和sterr以外的文件。I/O重定向有以下形式和含义:
file:stdout转向文件,如果文件不存在,将会创建文件
file:stdout追加到文件
< file:将文件用作stdin;文件必须存在并且具有r权限
<< woed:从“here”文件中获取输入,直到只包含“word”的行
嵌入文档
可以指示输出命令从stdin获取输入,将其回显到stdout,直到遇到预先安排的关键字
sh函数
定义
func()
{
# function code
}
sh中的通配符
星号通配符:sh中最有用的通配符是*,可扩展到当前目录中的所有文件
?通配符:查询某文件名中的字符
[ ]通配符:查询文件名中一对[]中的字符
命令分组
在sh脚本中,可以使用{}或()对命令进行分组
eval语句
参数替换:扫描命令行,将任何$x替换为它的值,但只执行一次,即不能再次替换任何产生的$符号。
命令替换:用替换行’pwd’。
通配符扩展:当sh执行该文件时,它将new*展开为以abc开头的文件名,这些会把所有以abc开头的文件名复制到目标目录中。
调试sh脚本
sh脚本可由带有-x选项的子sh运行,以进行调试,如:
bash -x mysh
sh脚本的应用
sh脚本最常用于执行涉及冗长命令序列的常规作业
苏格拉底挑战







posted on 2023-09-24 14:15 20211406张顺扬 阅读(21) 评论(0) 收藏 举报
浙公网安备 33010602011771号