那些网站做的非常好看,如何设置网站会员,百度公司做网站优化多少钱,网站能搜索到条件判断在流程控制中的重要性
有了条件判断才能进行if判断即分支流程#xff0c;才能进行case的多分支流程#xff0c;才能进行for循环和while循环。
单分支流程判断 如上图所示#xff0c;在shell编程中常使用英文状态下的分号来在Linux控制台一次性执行多条命令#x…条件判断在流程控制中的重要性
有了条件判断才能进行if判断即分支流程才能进行case的多分支流程才能进行for循环和while循环。
单分支流程判断 如上图所示在shell编程中常使用英文状态下的分号来在Linux控制台一次性执行多条命令这种一次性执行多条命令的格式与使用管道符来操作还不一样
使用管道符来操作多条命令的话每一条命令都需要去执行但是如果使用分支语句和英文逗号的话并不一定每一条命令都需要去执行。 单分支语句的执行顺序如上图所示如果条件为真的话就执行下面一条语句如果条件为假的话就跳过需要执行的语句执行下一条语句。 如上图所示先执行cd /home/atguigu/ 再执行ls -l
这样的操作形式常用于if [ 需要判断的条件语句 ] ; then echo OK ; fi
即如果 [ 需要判断的条件语句 ]为真的话就去执行then与fi之间的语句如果 [ 需要判断的条件语句 ]为假的话就跳过then 与fi之间的语句去执行下一条语句。
这样if [ 需要判断的条件语句 ] ; then 条件为真的时候执行的语句; fi 的语句即每一条命令并不是一定要去执行。 如上图所示当我们在脚本中编写分支语句的时候就需要使用字符串的一个拼接的操作
因为在实际调用脚本的时候可能要传入的参数为空这时因为向表达式中传入的参数为空就会报错所以要进行如上图的·字符串的拼接的操作。 如上图所示在编写脚本之后记得使用chmod x 脚本名称给脚本加上可执行的权限当然这里不指定属主属组其他用户的话就默认给全部用户加上对此文件的可执行权限。 如上图所示是将分支语句跟逻辑与和逻辑或结合起来的语句操作。
if [ $a -gt 18 ] [ $a -lt 35 ]; then echo OK;fi
如上图所示if [ $a -gt 18 ] [ $a -lt 35 ]; 条件为真的话就执行then 之间的语句 fi
如果条件为假就不进行输出打印的操作。
if [ $a -gt 18 -a $a -lt 35 ];表示判断这个参数的数值是否在[ $a -gt 18 -a $a -lt 35 ]区间内如果在这个区间内就打印OK如果不在这个区间内就不进行打印输出的操作
if [ $a -gt 18 -o $a -lt 35 ];表示这个参数的数值满足上述两个条件就可以就继续执行之后的then fi 语句
多分支流程判断 如上图所示是一个多分支语句示例和一个单分支语句示例在单分支中必须保证中括号中的不能为空不然报错即使不传入参数也应该保证中括号内有字符
在多分支语句中
if [ $2 -lt 18 ]
then echo 未成年人
else echo 成年人
fi
如上所示如果if中的条件为真的话就执行then 语句一 否则的话就执行 else 语句二 fi 如上图所示这是一个调用可执行脚本中的多分支语句的示例。 如上图所示是一个多分支语句
if [ 条件判断式 ]
then 程序
elif [条件判断式]
then 程序
else 程序
fi 如上图所示
if [ $2 - lt 18 ]
then echo 未成年人
elif [ $2 -lt 35 ]
then echo 青年人
elif [ $2 -lt 60 ]
then echo 中年人
else echo 老年人
fi
如上图所示在shell编程中的分支语句中每一个执行语句都需要使用then作为一个前提。 shell编程中的case语句 如上图所示*)之后的语句表示default语句即默认语句。 如上图所示,这是在shell编程中实际应用case语句的一个案例
当输入脚本的参数是1时执行语句1当输入脚本的参数是2时执行语句2当输入脚本的参数是3时执行语句3
当输入脚本的参数是意外情况时就执行default语句 shell编程中的for循环
对于for循环来说如果想进入for循环中就必须要使用一个条件判断当条件判断为真时就进入循环当条件判断为假时就不进入循环。 for循环中((初始值循环控制条件变量变化))
do 程序
done 如上图所示这是一个for循环示例当在使用变量的时候必须要在变量的前面加上一个$f的符号
即sum$sum $i但是此时在shell中加法是不能够直接去运用的必须要将这个加和的操作放在中括号内部。
可以在脚本的内部再加上一句echo $sum这样的语句对最后的结果进行打印输出。 如上图所示就是调用加和脚本并且对脚本传递参数的结果。 如上图所示在shell编程中可以在双小括号中正常的使用一些数学上的符号。就不必使用那些复杂的-le这样的运算符了。 如上图所示在shell编程中使用双小括号可以将数学上的符号正常使用if ((表达式正确)); then 当表达式正确的时候需要执行语句 ; else 当表达式不正确的时候需要执行的语句。 如上图所示是在shell中调用for循环的另外一种形式。 如上图所示是对for循环的一个基本调用
在shell中大括号的作用是表示一个序列比如{1..100}这样的形式就表示1-100的序列。 如上图所示是一个求和的for循环。 如上图所示编写脚本赋予其执行权限被引号引起来的$*和$的作用是不同的而没有被引号引起来的$*和$的作用是相同的都是将获取到的参数区分对待。 如上图所示这是一个通过使用$*和$来接收参数从而实现for循环的一个案例。
shell编程中的while循环 如上图所示与for循环不同的是在shell编程的while循环中我们需要在while循环外面进行变量的初始化在do done之间进行变量的调整。 如上图所示这是在使用for循环和while循环完成的1-100的加和
首先在for循环中
for ((i1; i $1; i))
do sum$[ $sum $i ]//在shell编程中如果想让数学运算符正常生效的话就需要使用$[ ]如果想调用变量的话就需要在变量名前面加上$的符号。
done
echo $sum
其次在while循环中
a1
while [ $a -le $1 ]
do sum2$[ $sum2 $a ] a$[ $a 1 ]//对进入循环的变量的调整。
done
echo $sum2 如上图所示这是一个实现1-100加和的while循环
let sum2a
let a
这样let的操作就可以将shell编程中一些比较反人类的运算符的操作简化一些。
read读取控制台的输入交互式操作 如上图所示这是在创建一个交互式的输入read -t表示等待用户等待的时间
-p表示指定读取值时的提示符这里的提示符可以用引号括起来: 接收参数的变量
echo $变量 对变量的打印输出