概述
前面有分享过一个关于日历的shell脚本,但是是不可编辑的,今天主要介绍怎么实现日历的屏幕控制。
需求:创建一个脚本文件file.sh完成以下功能
屏幕显示日历,接收用户的选择并根据用户选择完成相应的任务。
要求:仅当用户选择0才能结束程序的运行,返回Linux,否则继续显示功能菜单接受用户的选择,将屏幕控制起来。当用户选择1时,只需输入年份,输出本年的日历,选择2时,输入年份和月份,输出当前月的日历
算法:使用循环实现屏幕控制
实现步骤
脚本如下:
#!/bin/bashch=1while [ $ch != "0" ]doecho "#######################################"echo " 0======》Exit "echo " 1======》Display Calendar of month "echo " 2======》Display Calendar of year "echo "#######################################"echo "Please choose number 1,2,or 0:"read chif [ $ch = "1" ]then echo "imput year:" read year echo "input month:" read month cal $month $yearelse if [ $ch = "2" ] then echo "input year:" read year cal $year else if [ $ch = "0" ] then echo "Exit now!" else echo "Wrong choose!" echo "Please choose again!" fi fifiecho " "done
![bb1a570e00a2737b8dc07be75bfdd235.png](https://i-blog.csdnimg.cn/blog_migrate/1378b532e680c05f6c4c5728c6b3fd9c.jpeg)
运行结果
此时如果选择1的话(需要输入年和月,并打印该月日历)
![e874ce49193718193403c0098dccc501.png](https://i-blog.csdnimg.cn/blog_migrate/92f78af359067ef76875d7ab6228561f.jpeg)
选择2的话,只需要输入年,同时打印整年的日历:
![44fc89419c3514c6ca9a5067c893a3d7.png](https://i-blog.csdnimg.cn/blog_migrate/e67b959dfe11f574137c6466e787a515.jpeg)
选择0的话会退出循环:
![440f6b1e2817033327366ba5a0198cd1.png](https://i-blog.csdnimg.cn/blog_migrate/b0a0e3d233edd7afd9d481f8d90c24c8.jpeg)
此时便完成了一个脚本,从而实现屏幕的控制,根据用户选择来输出日历了。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
![ef06ce1db47f8975e992adc0b1fa7906.gif](https://i-blog.csdnimg.cn/blog_migrate/2134a5eec2dc23e7b8a236a9fae85200.gif)