Linux提供了多种功能强大的shell,包括Bash、Zsh、Tcsh和Ksh。这些shell程序最令人惊奇的特性之一是它们的可编程性。创建简单而有效的Linuxshell脚本来处理日常任务非常容易。此外,了解该主题将使您成为Linux的高级用户。请加入我们,详细介绍UnixShell脚本。请参阅:https://os.51cto.com/art/202004/614978.htm10,了解简单但有效的Linuxshell脚本示例(1-9)。使用AND运算符AND运算符允许我们的程序检查是否有多个条件。由AND运算符分隔的所有部分都必须为真。否则,包含AND的语句将返回false。查看以下bash脚本示例以更好地了解AND的工作原理。#!/bin/bashecho-n"Enteranumber:"readnumif[[($num-lt10)&&($num%2-eq0)]];thenecho"你刚刚输入了一个偶数:$num"elseecho"你只是输入是一个奇数:$num"fi11。使用“OR”运算符OR运算符是另一个重要的结构,它允许我们在脚本中实现复杂而强大的编程逻辑。与AND不同,如果任何一个操作数为真,则由OR运算符组成的语句返回真。仅当由OR分隔的每个操作数均为false时,它??才返回false。#!/bin/bashecho-n"Enteranynumber:"readnif[[($n-eq25||$n-eq50)]]thenecho"你赢了"elseecho"你输了"fi这个简单的例子演示了OR运算符适用于LinuxShell脚本。只有当用户输入数字25或50时,它才会宣布用户获胜。符号代表“或”运算符。12、用Elifelif语句表示elseif,为链式逻辑的实现提供了一种方便的方法。通过评估以下示例了解elif的工作原理。#!/bin/bashecho-n"Enteranumber:"readnumif[[$num-gt20]]thenecho"对于大于20的数字。"elif[[$num-eq20]]thenecho"对于等于20的数字."elseecho"表示小于20的数字。"fi上面的程序是不言自明的,所以我们不会逐行剖析它。您更改脚本的某些部分(例如变量名称和值)以检查它们如何协同工作。13.多分支选择结构多分支选择结构是Linuxbash脚本提供的另一大特性。它可以用在需要嵌套条件的地方,但你不想要复杂的if-else-elif链。然后看下一个例子。条件写在case和esac关键字之间。*)以匹配除100和200之外的所有输入。14.命令行参数在许多情况下,直接从命令shell获取参数可能是有益的。以下示例显示了如何在bash中执行此操作。#!/bin/bashecho"参数总数:$#"echo"第一个参数=$1"echo"第二个参数=$2"echo"2ndparameter=$2"在其名称之后,使用两个附加参数运行此脚本。我将其命名为linuxidc.com.sh,调用过程概述如下。[linuxidc@linux:~/www.linuxidc.com]$./linuxidc.com.shlinuxidc.comlinuxidcubuntu所以,$1用来访问第一个参数,$2用来访问第二个参数,以此类推。$#用于获取参数总数。15.获取带有名称的参数下面的例子展示了如何获取带有名称的命令行参数。#!/bin/bashforargin"$@"doindex=$(echo$arg|cut-f1-d=)val=$(echo$arg|cut-f2-d=)case$indexinA)a=$val;;B)b=$val;;*)esacdone((result=a+b))echo"A+B=$result"echo"A+B=$result"将此脚本命名为linuxidc.com.sh并按Makethe调用如下所示。[linuxidc@linux:~/www.linuxidc.com]$./linuxidc.com.shA=200B=70它应该返回A+B=270。这里的参数存储在“$@”中,脚本使用Linuxcut命令获取它们。16.连接字符串字符串处理对于各种现代bash脚本来说都是必不可少的。值得庆幸的是,它在bash中使用起来更舒服,并且允许使用更精确、简洁的方法来执行此操作。请参阅以下示例以快速浏览bash字符串连接。#!/bin/bashstring1="Linux"string2="Commune"string3="(www.linuxidc.com)"string=$string1$string2$string3echo"$string为Linux爱好者提供海量技术教程。"echo"$string为Linux爱好者提供海量技术教程。”以下程序输出字符串“Linux公社(www.linuxidc.com)为Linux爱好者提供海量技术教程。”bash不提供任何用于切片部分字符串的内置函数。以下示例显示了如何使用参数扩展来完成此操作。#!/bin/bashStr="LearnBashCommandsfromlinuxidc.com"subStr=${Str:0:20}echo$subStr这个脚本应该输出“LearnBashCommands”。参数扩展采用${VAR_NAME:S:L}形式。这里,S代表起始位置,L代表长度。18、使用cut提取子串可以在脚本内部使用linuxcut命令来“切割”字符串的一部分,即子串。下一个示例显示了这是如何完成的。#!/bin/bashStr="LearnBashCommandsfromlinuxidc.com"#subStr=${Str:0:25}subStr=$(echo$Str|cut-d''-f1-4)echo$subStr19。添加两个值在Linuxshell脚本中执行算术运算非常容易。以下示例演示如何从用户接收两个数字作为输入并将它们相加。#!/bin/bashecho-n》输入第一个数字:"readaecho-n"输入第二个数字:"readb((sum=a+b))echo"加=$sum"的结果随你看,在bash中添加数字相当容易。
