ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Shell脚本,case语句多分支判断,检查判断变量的取值,使用wait等待脚本进程,使用kill杀脚本最后一个进程

2022-01-28 23:32:00  阅读:167  来源: 互联网

标签:脚本 case echo 后台 进程 wait


Shell脚本,case语句多分支判断,检查判断变量的取值,使用wait等待脚本进程,使用kill杀脚本最后一个进程

O、
1、效果类似于多分支的语句
2、如果与预设的值相等,则执行相应的动作
3、命令序列最后必须以双分号结尾
4、最后的默认命令序列不是必须加双分号的,可有可无,效果一样
5、像极了编程语言里面的switch case语句。

一、case语法:
case 变量 in
模式1)
命令序列1;;
模式2)
命令序列2;;

*)
默认命令序列
esac

例如:
read -p “INPUT A or B :” Input
case $Input in
A)
echo A;;
B)
echo B;;
*)
echo “nothing”
esac
在这里插入图片描述

)前面也可以使用|放置多个预设值,例如:
read -p “INPUT y or n :” Input
case $Input in
y|Y|yes|YES)
echo “OK”;;
n|N|no|NO)
echo “NO”;;
*)
echo “error”;;
esac
在这里插入图片描述

零散的笔记:
1、使用随机数RANDOM%num获得0-num-1的随机值。

在这里插入图片描述

2、使用&将进程放到后台,可以实现异步调用,使用jobs查看。
在这里插入图片描述

3、将有输出信息的进程放到后台并且没有将输出信息重定向到/dev/null中的话,会出现内容未打印完而脚本已运行结束的情况,内容会覆盖bash输入位置,导致光标不在bash位置上,只要等内容打印完,按回车就可以,因为打印的内容不会因为回车被执行。
在这里插入图片描述

4、在脚本最后输入wait,确保等所有进程结束,脚本才会返回
for i in {1…254}
do

done
wait

5、如果脚本中有死循环后台进程,需要使用kill $!将脚本中的后台进程杀了,这个命令是杀死“最后一个后台进程”,如果有脚本有多个后台进程需要多调用此命令。

标签:脚本,case,echo,后台,进程,wait
来源: https://blog.csdn.net/ganfanren00001/article/details/122737525

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有