简单而有效的Linux Shell脚本示例(续一)-演道网
- 简单而有效的Linux Shell脚本示例 https://www.linuxidc.com/Linux/2020-04/162937.htm
- 简单而有效的Linux Shell脚本示例(续一) https://www.linuxidc.com/Linux/2020-04/162948.htm
- 简单而有效的Linux Shell脚本示例(续二) https://www.linuxidc.com/Linux/2020-05/163080.htm
- 简单而有效的Linux Shell脚本示例(续三) https://www.linuxidc.com/Linux/2020-05/163089.htm
10、使用AND运算符
AND运算符允许我们的程序一次检查是否满足多个条件。用AND运算符分隔的所有部分都必须为true。否则,包含AND的语句将返回false。查看以下bash脚本示例,以更好地了解AND的工作原理。
#!/bin/bash
echo -n “输入数字:”
read num
if [[ ( $num -lt 10 ) && ( $num%2 -eq 0 ) ]]; then
echo “您刚才输入的是偶数:$num”
else
echo “您刚才输入的是奇数:$num”
fi
11、使用“OR”运算符
OR运算符是另一个至关重要的结构,它使我们能够在脚本中实现复杂而强大的编程逻辑。与AND相反,由OR运算符组成的语句在其任何一个操作数为true时均返回true。仅当由OR分隔的每个操作数为false时,它才返回false。
#!/bin/bash
echo -n “输入任何数字:”
read n
if [[ ( $n -eq 25 || $n -eq 50 ) ]]
then
echo “你赢了”
else
echo “你输了”
fi
这个简单的示例演示了OR运算符如何在Linux Shell脚本中工作。仅当用户输入数字25或50时,它才宣布用户为赢家。符号代表“or”运算符。
12、使用Elif
elif语句代表else if,并为实现链逻辑提供了一种方便的方法。通过评估以下示例,了解elif的工作原理。
#!/bin/bash
echo -n “输入一个数字: “
read num
if [[ $num -gt 20 ]]
then
echo “数字大于20.”
elif [[ $num -eq 20 ]]
then
echo “数字等于20.”
else
echo “数字小于20.”
fi
上面的程序是不言自明的,因此我们不再逐行进行剖析。你更改脚本的某些部分(例如变量名和值)以检查它们如何一起工作。
13、多分支选择结构
多分支选择结构是Linux bash脚本提供的另一个强大特性。它可以在需要嵌套条件的地方使用,但是您不希望使用复杂的if-else-elif链。那请看下一个例子。
#!/bin/bash
echo -n “请输入数字: “
read num
case $num in
100)
echo “100!!” ;;
200)
echo “200!!” ;;
*)
echo “既不是100也不是200” ;;
esac
条件写在case和esac关键字之间。 *)用于匹配除100和200以外的所有输入。
14. 命令行参数
在许多情况下,直接从命令shell获取参数可能是有益的。下面的示例演示如何在bash中执行此操作。
#!/bin/bash
echo “参数总数 : $#”
echo “第1个参数 = $1”
echo “第2个参数 = $2”
在其名称之后,使用两个附加参数运行此脚本。我将其命名为linuxidc.com.sh,并且调用过程概述如下。
[linuxidc@linux:~/www.linuxidc.com]$ ./linuxidc.com.sh linuxidc.com linuxidc Ubuntu
因此,$1用于访问第一个参数,$2用于访问第二个参数,依此类推。$#用于获取参数的总数。
15、获取带有名称的参数
下面的示例演示如何获取带有名称的命令行参数。
#!/bin/bash
for arg in “$@”
do
index=$(echo $arg | cut -f1 -d=)
val=$(echo $arg | cut -f2 -d=)
case $index in
A) a=$val;;
B) b=$val;;
*)
esac
done
((result=a+b))
echo “A+B=$result”
将此脚本命名为linuxidc.com.sh并按如下所示进行调用。
[linuxidc@linux:~/www.linuxidc.com]$ ./linuxidc.com.sh A=200 B=70
它应该返回A+B=270。此处的参数存储在’ $@ ‘内,脚本使用Linux cut命令获取它们。
16、连接字符串
字符串处理对于各种现代bash脚本至关重要。值得庆幸的是,它在bash中使用起来更加舒适,并且允许使用一种更加精确,简洁的方式来实现此目的。请参阅以下示例,快速浏览bash字符串连接。
#!/bin/bash
string1=”Linux”
string2=”公社”
string3=”(www.linuxidc.com)”
string=$string1$string2$string3
echo “$string 为Linux爱好者提供海量技术教程。”
以下程序输出字符串“Linux公社(www.linuxidc.com) 为Linux爱好者提供海量技术教程。”如下图:
17、切片字符串
与许多编程语言相反,bash不提供用于切片字符串部分的任何内置函数。下面的示例演示如何使用参数扩展来完成此操作。
#!/bin/bash
Str=”Learn Bash Commands from linuxidc.com”
subStr=${Str:0:20}
echo $subStr
这个脚本应该输出“Learn Bash Commands”。参数扩展采用${VAR_NAME:S:L}的形式。在此,S表示起始位置,L表示长度。
18. 使用cut提取子字符串
可以在脚本内部使用Linux cut命令来“剪切”一部分字符串,也就是子字符串。 下一个示例显示了如何完成此操作。
#!/bin/bash
Str=”Learn Bash Commands from linuxidc.com”
#subStr=${Str:0:25}
subStr=$(echo $Str| cut -d ‘ ‘ -f 1-4)
echo $subStr
19、两个值相加
在Linux Shell脚本中执行算术运算非常容易。下面的示例演示如何从用户接收两个数字作为输入并将其相加。
#!/bin/bash
echo -n “输入第一个数字:”
read a
echo -n “输入第2个数字:”
read b
(( sum=a+b ))
echo “相加的结果=$sum”
如您所见,在bash中添加数字相当简单。
如果喜欢,请继续关注Linux公社。
简单而有效的Linux Shell脚本示例 https://www.linuxidc.com/Linux/2020-04/162937.htm
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址:<a href="../../Linux
转载自演道,想查看更及时的互联网产品技术热点文章请点击http://go2live.cn