shell脚本(3)
shell脚本应用(三)
一、使用for循环语句
1.for语句的结构
for 变量名 in 取值列表
do
命令序列
done
例1:根据姓名列表批量添加用户
根据人事部给出的用户姓名拼音列表,在Linux服务器中添加相应的用户账号,初始密码均设置为"123456"。
指定员工列表文件users,编写一个名为uaddfor的shell脚本,从users文件中读取各用户名称,重复执行添加用户、设置初始密码的相关操作。
如果要批量删除
用户和宿主目录都没了
例2:根据IP地址列表检查主机状态
根据包含公司各服务器IP地址的列表文件,检查其中各主机的ping连通性
二、使用while循环语句
1.while语句的结构
while 条件测试操作
do
命令序列
done
2.while语句应用实例
例1:批量添加规律编号的用户
若要删除
三、使用case分支语句
1.case语句的结构
case 变量值 in
模式1)
命令序列1
,,
模式2)
命令序列2
;;
……
*)
默认命令序列
esac
case行尾必须为单词"in",每一个模式必须以右括号)结束
双分号";;"表示命令序列的结束
模式字符串中,可以用方括号表示一个连续的范围,[0-9],还可以用|,表示或A|B
*)表示默认模式,其中的*相当于通配符
2.case语句应用实例
例1:检查用户输入的字符类型
提示用户从键盘输入一个字符,通过case语句判断该字符是否为字母、数字或者其他控制字符,并给出相应的提示信息
例2:编写系统服务脚本
编写一个名为myprog的系统服务脚本,通过位置变量$1指定的start、stop、restart、status控制参数,分别用来启动、停止、重启sleep进程,以及查看sleep进程的状态。sleep用来暂停指定秒数的时间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构