前篇讲到,我们习惯在一系列脚本操作上,首先输出当前路径,然后输出当前的时间。
这里我们学习如何获取当前的时间。
参考:
http://www.cnblogs.com/mfryf/archive/2012/03/23/2413362.html
获取时间的方式格式各样,这里给出一个例子:
#!/bin/sh
DATE=`date +%Y%m%d`
echo $DATE;
这样输出的事当前的年月
那如果有时候我们不需要输出当前的时间,而自己输入一个时间呢?Shell语言更像一种面相过程的语言,我们用逻辑思路就可以得到想要的实现方式:
思路:
1.我们需要自己输入,所以需要输入变量,前面一个文章已经说得很清楚,$#就是取当前脚本输入参数的方法
2.我们需要引入一个判断,如果有输出则用输入的,如果没有呢?用当前的,Shell的if语句,参考:
http://www.dutycode.com/post-46.html
这样,我们就可以得到想要的代码了:
if [ $# -eq 1 ]; then
DATE=$1
else
DATE=`date +%Y%m%d`
fi
稍作解析:
$#表示脚本的参数,如果参数个数为1,则执行,将参数一赋予变量DATE,否则,用当前的计算方式,fi为结束逻辑判断
结合,前面的输出绝对路径,一个脚本的习惯开头就得到了:
#!/bin/sh
cd `dirname $0`;echo "当前目录:"`pwd`
if [ $# -eq 1 ]; then
DATE=$1
else
DATE=`date +%Y%m%d`
fi
echo $DATE;