如何在Unix/Linux Shell脚本中获取/打印当前日期
时间:2020-01-09 10:45:59 来源:igfitidea点击:
如何在Unix或者Linux Shell脚本中获取当前日期并将其存储到Shell变量中?
如何使用Unix Shell脚本打印当前日期?
如何在Linux Shell脚本中显示当前时间?
您需要使用以下语法在屏幕上打印当前日期和时间:
date +"%FORMAT" var=$(date) var=`date`
在Unix Shell脚本中打印当前日期和时间
要将当前日期和时间存储到变量,请执行:
now=$(date)
或者
now=`date`
在Unix中打印当前日期
要打印此日期,请使用printf或者echo语句:
echo "$now" echo "Current date: $now"
或者使用printf命令:
printf "%s\n" "$now"
或者
printf "Current date and time in Linux %s\n" "$now"
在Linux Shell脚本中获取当前日期和时间
您可以使用以下语法格式化和显示日期:
date +'FORMAT' ### mm/dd/yyyy ### date +'%m/%d/%Y' ## Time in 12 hr format ### date +'%r' ## backup dir format ## backup_dir=$(date +'%m/%d/%Y') echo "Backup dir for today: /nas04/backups/${backup_dir}"
使用date命令查找Linux或者Unix中的当前日期和时间
日期命令格式代码列表
格式代码 | 说明 |
---|---|
%% | 文字% |
%a | 语言环境缩写的工作日名称(例如,Sun) |
%A | 语言环境完整的工作日名称(例如,星期日) |
%b | 语言环境缩写的月份名称(例如Jan) |
%B | 语言环境完整月份名称(例如,一月) |
%c | 语言环境日期和时间(例如2005年3月3日星期四23:05:25) |
%C | 世纪;类似于%Y,但省略了后两位数字(例如20) |
%d | 每月的某天(例如01) |
%D | 日期;与%m /%d /%y相同 |
%e | 每月的某天,空格已填充;与%_d 相同 |
%F | 完整日期;与%Y-%m-%d 相同 |
%g | ISO周号的年份的后两位数字(请参见%G) |
%G | 年的ISO周编号(请参见%V);通常仅对%V 有用 |
%h | 与%b 相同 |
%H | 小时(00..23) |
%I | 小时(01..12) |
%j | 一年中的哪一天(001..366) |
%k | 小时,填充空格(0..23);与%_H 相同 |
%l | 小时,空格填充(1..12);与%_I 相同 |
%m | 月(01..12) |
%M | 分钟(00..59) |
%n | 换行符 |
%N | 纳秒(000000000..999999999) |
%p | 相当于AM或者PM的语言环境;如果未知,则为空白 |
%P | 类似于%p,但小写 |
%q | 季度(1..4) |
%r | 语言环境12小时制(例如11:11:04 PM) |
%R | 24小时小时和分钟;与%H:%M 相同 |
%s | 秒,自1970-01-01 00:00:00 UTC |
%S | 秒(00..60) |
%t | 标签 |
%T | 时间;与%H:%M:%S |
%u | 星期几(1..7); 1是星期一 |
%U | 年的周数,以周日为一周的第一天(00..53) |
%V | ISO周编号,以星期一为一周的第一天(01..53) |
%w | 星期几(0..6); 0是星期日 |
%W | 年中的第几周,星期一为一周的第一天(00..53) |
%x | 语言环境日期表示形式(例如12/31/99) |
%X | 语言环境时间表示形式(例如23:13:48) |
%y | 年份的后两位(00..99) |
%Y | 年 |
%z | + hhmm数字时区(例如-0400) |
%:z | + hh:mm数字时区(例如-04:00) |
%:: z | + hh:mm:ss数字时区(例如-04:00:00) |
%::: z | 数字时区,带有:达到必要的精度(例如-04,+ 05:30) |
%Z | 字母时区缩写(例如EDT) |
示例shell脚本显示当前日期和时间
#!/bin/bash now="$(date)" printf "Current date and time %s\n" "$now" now="$(date +'%d/%m/%Y')" printf "Current date in dd/mm/yyyy format %s\n" "$now" echo "Starting backup at $now, please wait..." # command to backup scripts goes here # ...