shell脚本编程基础
文章平均质量分 62
如果你是Linux环境下的系统管理员,那么学会编写shell脚本将让你受益匪浅。
pineapple rong
专注大数据领域
展开
-
shell结构化命令——for命令
重复执行一系列命令在编程中很常见。你经常需要重复多个命令直至达到某个特定条件,比如处理目录下的所有文件、系统中的所有用户或是文本文件中的所有行。bash shell提供了for命令,以允许创建遍历一系列值的循环。每次迭代都使用其中一个值来执行已定义好的一组命令。for命令的基本格式如下:docommandsdone你需要提供用于迭代的一系列值作为list参数。指定这些值的方法不止一种。在每次迭代中,变量var会包含列表中的当前值。原创 2024-01-20 23:48:00 · 1961 阅读 · 0 评论 -
shell结构化命令——case命令
case命令会将指定变量与不同模式进行比较。如果变量与模式匹配,那么shell就会执行为该模式指定的命令。你可以通过竖线运算符在一行中分隔出多个模式。星号会捕获所有与已知模式不匹配的值。你经常会发现自己在尝试计算一个变量的值,在一组可能得值中寻找特定值。有了case命令,就无须再写大量的elif语句来检查同一个变量的值了。case命令提供了一种更清晰的方法来为变量每个可能的值指定不同的处理选择。elif语句会不断检查if-then,为比较变量寻找特定的值。原创 2024-01-19 22:26:40 · 503 阅读 · 1 评论 -
shell结构化命令——test命令
到目前为止,我们在if语句行中看到的都是普通的shell命令。你可能想知道if-then语句能否测试命令退出状态码之外的条件。答案是不能。但是,在bash shell中有个好用的工具可以帮你使用if-then语句测试其他条件。test命令可以在if-then语句中测试不同的条件。如果test命令中列出的条件成立,那么test命令就会退出并返回退出状态码0。这样if-then语句的工作方式就和其他编程语言中的if-then语句差不多了。原创 2024-01-16 16:16:51 · 1729 阅读 · 1 评论 -
shell结构化命令——嵌套if语句
在/home/NoSuchUser目录被删除之前,这个测试脚本执行的是elif语句,返回0值的退出状态。因此,elif的then代码块中的语句得以执行。如果elif之后的命令的退出状态码是0,则bash会执行第二个then语句部分的命令。要检查/etc/passwd文件中是否存在某个用户名以及该用户的主目录是否尚在,可以使用嵌套的if-then语句。注意 记住,在elif语句中,紧跟其后的else语句属于elif代码块,不属于之前的if-then语句的代码块。有时需要再脚本中检查多种条件。原创 2024-01-15 16:52:48 · 1183 阅读 · 1 评论 -
shell结构化命令——if-then-else语句
在if-then语句中,不管命令是否成功执行,你都只有一种选择。如果命令返回一个非0退出状态码,则bash shell会继续执行脚本中的下一条命令。在这种情况下,如果能够执行另一组命令就好了。这正是if-then-else语句的作用。当if语句中的命令返回退出状态码0时,then部分中的命令会被执行,这跟普通的if-then语句一样。当if语句中的命令返回非0退出状态码时,bash shell会执行else部分中的命令。跟then部分一样,else部分可以包含多条命令。fi语句说明else部分结束。原创 2024-01-14 23:03:33 · 369 阅读 · 0 评论 -
shell结构化命令——使用if-then语句
由于这是个错误的命令,因此会产生一个非0的退出状态码,bash shell因此跳过了then部分的echo命令。bash shell的if语句会执行if之后的命令。如果该命令的退出状态码是其他值,则then部分的命令不会被执行,bash shell会接着处理脚本中的下一条命令。bash shell 会将这些命令视为一个代码块,如果if语句行命令的退出状态值为0就,那么代码块中所有的命令都会被执行;)放在待求值的命令尾部,可以将then语句写在同一行,这样看起来更像其他编程语言中的if-then语句。原创 2024-01-14 19:54:11 · 664 阅读 · 0 评论 -
构建shell基础脚本——退出脚本
shell中运行的每个命令都使用退出状态码来告诉shell自己已经运行完毕。退出状态码是一个0~255的整数值,在命令结束运行时由其传给shell。你可以获取这个值并在脚本中使用。原创 2024-01-13 08:00:00 · 678 阅读 · 1 评论 -
构建shell基础脚本——执行数学运算
编程语言的一项至关重要的特性是数学运算能力。在shell脚本中,执行数学运算有两种方式。原创 2024-01-12 11:03:05 · 1182 阅读 · 4 评论