您的位置:首页 > 运维架构 > Shell

Linux学习之学习shell脚本续写2

2010-11-25 11:03 411 查看
这今天一直在忙,也就没时间写博客了,下午要赶回广州,明天去面试,希望这家公司能给到我满意的待遇。

在学校工作了一年多,见证了很多阴暗的一面,也学不到什么东西了,老一辈的人,对于学校,总是有一种莫名的依赖感在那里,认为,只要是学校的,工作都稳定,确实,在学校工作,的确稳定,但是,对于个人职业的生涯,却没有什么帮助,我天生是个不安分的人,所以,即使父母反对都好,我都会跳走,只是什么时候跳而已,我目前的薪资是三千多,在这个薪资,对于广州来说,其实,是很少的了,最起码,你在广州这里,随便消费一下,就已经几百不见了,希望我的下一份工作,可以达到四千多,我不是个急于进攻的人,我喜欢慢慢的让自己爬升,这样会给我一种安稳感。

好了,刚才写的那些话,无非是想鼓励鼓励、勉励自我而已,现在进入我的笔记天堂了。

在上几篇中,开始了脚本的编写,老实说,我并没有学过脚本,看鸟哥的书的时候,感觉有点痛苦,因为很大概念不是很清楚,还好凭借着之前学过编程的基础,差不多的原理,才让自己慢慢的琢磨明白,刚才,在试验的过程中,对着一个脚本,想了很久,才搞明白是怎么一回事,现在,就把这个脚本贴上去

#!/bin/bash

#Program:

# Tring to caluate your demobilization date at how many days later...

#History:

# 2010/11/25 Jackicy First release

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

#1、告诉用户程序的用途,并且说明应该如何输入日期格式

echo "This program will try to calculate :"

echo "How many days about your demobiliation date..."

read -p "Please input your demobilization date (YYYYMMDD ex>20101125):" date2

#2、利用正则表达式测试一下,这个输入的内容是否正确

date_d=`echo $date2 |grep '[0-9]\{8\}'` //这里中,我一开始是不明白"\{8\}"这个含义的,后来明白,原来是从0-9这个数据中,连续重复8个前一个字符

if [ "$date_d" == "" ]; then

echo "You input the wrong format of date..."

exit 1

fi

#3、开始计算日期

declare -i date_dem=`date --date="$date2" +%s`

declare -i date_now=`date +%s`

declare -i date_total_s=$(($date_dem-$date_now))

declare -i date_d=$(($date_total_s/60/60/24))

if [ "$date_total_s" -lt "0" ];then

echo "You had been demobilization before: " $((-1*$date_d))" ago"

else

declare -i date_h=$(($(($date_total_s-$date_d*60*60*24))/60/60))

echo "You will be demobilized after $date_d days and $date_h hours."

fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息