shell脚本date
⑴ 如何在shell脚本程序中获取日期值
date"+%Y%m%d"
这样就能得到 YYYYMMDD 这种形式的日期值。
⑵ 在shell中怎么使用date参数
date命令是很好的命令, 在很多时间都会用到的, 尤其是在Shell编程的时候
如果想学好linux系统的话, 就找我请教了!
⑶ shell中date函数,我知道显示当前月是echo "`date \"+%Y-%m\"`",那么要是我想显示上个月呢
如果是在Linux上,hefan77的答案就可以了。
如果是在其它的Unix上(e.g. AIX,HPUX,SunOS etc)
date command 没有 -d 的 option 可用时,可以用下面script:
#!/bin/ksh
let YEAR=$(date "+%Y")
let MONTH=$(date "+%m")
if [ $MONTH -eq 1 ]
then
let YEAR=YEAR-1
LASTYM=$(printf "%d-%.2d\n" $YEAR 12)
else
let MONTH=MONTH-1
LASTYM=$(printf "%d-%.2d\n" $YEAR $MONTH)
fi
echo $LASTYM
⑷ 在shell中怎么获取当前日期和时间
获得当天的日期:[root@master~]#date+%Y-%m-%d
有时候需要使用今天之前或者往后的日期,这时可以使用date的 -d参数。
获取明天的日期:date-dnext-day+%Y%m%d
获取昨天的日期:date-dlast-day+%Y%m%d
获取上个月的年和月:date-dlast-month+%Y%m
获取下个月的年和月:date -d next-month +%Y%m
获取明年的年份:date -d next-year +%Y
(4)shell脚本date扩展阅读
时间域参数:
时间域参数用于格式化输出日期,相关时间域参数如下:
% H 小时(00…23)
% I 小时(01…12)
% k 小时(0…23)
% l 小时(1…12)
% M 分(00…59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00…59)
⑸ linux shell脚本 每秒执行一次date输出到/home/date中,想要每分钟清空一下date文件 在脚本中怎么加命令
这个需要使用计划任务 crontab
cd /root
echo "echo >/home/date">>test.sh
chmod +x test.sh
echo "*/1* * * * root sh /root/test.sh" >>/etc/crontab
/etc/init.d/crond restart
⑹ shell脚本两个日期值比较
这种标准格式的时期应该是无法比较的,你应该给这个时间转化为linux的绝对时间然后比较大小,给你share一个我之前写的一个计算一个命令执行时间的的脚本,你一看就明白了。
#########################
BEGIN=`date +"%Y-%m-%d %H:%M:%S"`
bkup_system|tee -a bkup_time.log
END=`date +"%Y-%m-%d %H:%M:%S"`
print $BEGIN begin back up|tee -a bkup_time.log
print $END end buck up|tee -a bkup_time.log
#时间转化
Sys_data_begin=`date -d "$BEGIN" +%s`
Sys_data_end=`date -d "$END" +%s`
#计算间隔,可以根据间隔的正负来比较你时间的大小
INTER=`expr $Sys_data_end - $Sys_data_begin`
echo Total time do back up is $INTER s|tee -a bkup_time.log
########################
⑺ 如何正确在Linux Shell脚本中定义一个时间变量
1、创建脚本 test.sh,并入截图内容。
⑻ 关于SHELL脚本中日期大小的比较
#!/bin/sh
find /path/you/want/to/delete -type d -mtime +7 -exec rm -r {} \;
把上面的写入到一个脚本里,如/usr/local/bin/del.sh
chmod +x /usr/local/bin/del.sh
把下面这行加入到cron job里:
0 1 * * * /usr/local/bin/del.sh
⑼ shell脚本计算时间
TIME_INPUT=`date -d "00:00" +%s`
通过时间戳来计算
nowtime=`date +%s`
shijiancha=`expr $nowtime - $TIME_INPUT`
if [ $shijiancha -gt 180 ];then
echo 3分钟前
else
if [ $shijiancha -lt -180 ];then
echo 3分钟后
fi
fi
⑽ 在xshell用date查询日期为英文,用shell脚本date得到的结果为乱码,这个怎么解决
打env把结果贴出来,把你xshell会话的属性中终端截出图来,最后把脚本和脚本运行方式贴出来
基本上应该就是你xshell的编吗,与你服务端的编码是相同的,所以输出正常。然而,你shell脚本的运行环境与你xshell的编码不同,所以是乱码