1、使用echo -e命令,实现一个闪烁的倒三角*图形
查阅资料
字体色彩的选项说明: echo -e "\033[30m 黑色字 \033[0m" echo -e "\033[31m 红色字 \033[0m" echo -e "\033[32m 绿色字 \033[0m" echo -e "\033[33m ×××字 \033[0m" echo -e "\033[34m 蓝色字 \033[0m" echo -e "\033[35m 紫色字 \033[0m" echo -e "\033[36m 天蓝字 \033[0m" echo -e "\033[37m 白色字 \033[0m" echo -e "\033[40;37m 黑底白字 \033[0m" echo -e "\033[41;37m 红底白字 \033[0m" echo -e "\033[42;37m 绿底白字 \033[0m" echo -e "\033[43;37m 黄底白字 \033[0m" echo -e "\033[44;37m 蓝底白字 \033[0m" echo -e "\033[45;37m 紫底白字 \033[0m" echo -e "\033[46;37m 天蓝底白字 \033[0m" echo -e "\033[47;30m 白底黑字 \033[0m"
控制选项说明 : \33[0m 关闭所有属性 \33[1m 设置高亮度 \33[4m 下划线 \33[5m 闪烁 \33[7m 反显 \33[8m 消隐 \33[30m -- \33[37m 设置前景色 \33[40m -- \33[47m 设置背景色 \33[nA 光标上移n行 \33[nB 光标下移n行 \33[nC 光标右移n行 \33[nD 光标左移n行 \33[y;xH设置光标位置 \33[2J 清屏 \33[K 清除从光标到行尾的内容 \33[s 保存光标位置 \33[u 恢复光标位置 \33[?25l 隐藏光标 \33[?25h 显示光标
查阅以上的资料,满足题述的要求
[root@7 testdir]# echo -e "\033[31m \033[5m *******" "\n\033[32m \033[5m ***** \n\033[33m \033[5m *** \n\033[34m \033[5m * \033[0m"
进阶
[root@7 testdir]# echo -e "\E[31;5m **\E[32;5m***\E[31;5m**" "\n\E[33;5m *\E[34;5m***\E[33;5m* \n\E[35;5m *\E[36;5m*\E[35;5m* \n\E[37;5m * \E[0m"
2、使用date命令显示前10天的年月日以及显示后20天的年月日
查询资料
加减操作: date +%Y%m%d //显示前天年月日 date -d "+1 day" +%Y%m%d //显示前一天的日期 date -d "-1 day" +%Y%m%d //显示后一天的日期 date -d "-1 month" +%Y%m%d //显示上一月的日期 date -d "+1 month" +%Y%m%d //显示下一月的日期 date -d "-1 year" +%Y%m%d //显示前一年的日期 date -d "+1 year" +%Y%m%d //显示下一年的日期 来自: http://man.linuxde.net/date
[root@7 testdir]# date -d "-10 days" +%F 显示前10天的年月日
[root@7 testdir]# date -d "-10 days" +%F 2016-07-15 [root@7 testdir]# date 2016年 07月 25日 星期一 19:22:27 CST
[root@7 testdir]# date -d "+20 days" +%F 显示后20天的年月日
[root@7 testdir]# date -d "+20 days" +%F 2016-08-14 [root@7 testdir]# date 2016年 07月 25日 星期一 19:26:38 CST
3、编写一个生日脚本,在生日前三天提醒你
查询资料
date %j 按年计的日期(001-366) date -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
GNU nano 2.3.1 文件: birthday.sh #! /bin/bash A=`date -d '1992-07-29' +%j` B=`date +%j` let C=$A-$B if [ $C -gt 0 ]&&[ $C -le 3 ];then echo -e "\E[31m Your birthday is coming. \E[0m" elif [ $C -eq 0 ];then echo -e "\E[31m Today is your birthday. \E[0m" else exit 5 fi
本脚本功能,目前仅限于脚本中输入生日(阳历),然后执行进行提醒。
1、在你的生日前三天,对你进行提醒,输出 Your birthday is coming.
2、在你生日当天,对你进行提醒,输出 Today is your birthday.
3、在其他的时间脚本会直接退出,没有提示
A=`date -d '1992-07-5' +%j` 我的生日是7.5 无提醒 [root@7 testdir]# bash birthday.sh
A=`date -d '1992-07-25' +%j` 当日期改为7.25 [root@7 testdir]# bash birthday.sh Today is your birthday.
A=`date -d '1992-07-26' +%j` 当日期改为7.26 [root@7 testdir]# bash birthday.sh Your birthday is coming.
A=`date -d '1992-08-24' +%j` 当日期改为8.24 无提醒 [root@7 testdir]# bash birthday.sh
4、练习
(1)、显示当前日期,格式:2016-08-08
# date +%Y-%m-%d
[root@7 testdir]# date +%Y-%m-%d 2016-07-25
(2)、显示前天是星期几
# echo "The day before yesterday is 星期`date -d "-2 days" +%u` "
[root@7 testdir]# echo "The day before yesterday is 星期`date -d "-2 days" +%u` " The day before yesterday is 星期6
(3)、设置当前日期为2008-08-08 08:00
# date 0808080008.00
[root@7 testdir]# date 0808080008.00 2008年 08月 08日 星期五 08:00:00 CS