![查看所有 Bash/Shell 脚本相关的常见问题解答](https://www.alaica.com/wp-content/uploads/linux-11.png)
如何在 Unix 或 Linux shell 脚本中获取当前日期并将其存储到 shell 变量中?如何使用 Unix shell 脚本打印当前日期?如何在Linux shell脚本中显示当前时间?
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 不 |
要求 | Linux 或 Unix 终端 |
类别 | Linux shell 脚本 |
先决条件 | 日期命令 |
操作系统兼容性 | BSD • Linux • macOS • Unix |
美东时间。阅读时间 | 3分钟 |
您需要使用以下语法在屏幕上打印当前日期和时间:
日期 日期+ "%FORMAT" var =$ (日期) var = `日期` echo " $var "
在 Unix shell 脚本中打印当前日期和时间
要将当前日期和时间存储到变量中,请输入:
$ now=$(date)
OR
$ now=`date`
在 Unix 中打印当前日期
要打印此日期,请使用printf 或 echo 语句:
或使用 printf 命令:
OR
$ echo "$now"
$ echo "Current date: $now"
$ printf "%sn" "$now"
$ printf "Current date and time in Linux %sn" "$now"
在 Linux shell 脚本中获取当前日期和时间
您可以使用以下语法格式化和显示日期:
日期+ “格式” ### 月/日/年 ### 日期+ '%m/%d/%Y' ## 12 小时格式的时间 ### 日期+ '%r' ## 备份目录格式 ## backup_dir =$ ( date + '%m/%d/%Y' ) echo "今天的备份目录:/nas04/backups/ ${backup_dir} "
![如何在 Linux 或 Unix 中查找当前日期和时间](https://www.alaica.com/wp-content/uploads/linux-12.png)
使用 date 命令在 Linux 或 Unix 中查找当前日期和时间
日期命令格式代码列表
格式代码 | 描述 |
---|---|
%% | 字面量 % |
%a | 区域设置的工作日缩写名称(例如 Sun) |
%A | 区域设置的完整工作日名称(例如,星期日) |
%b | 区域设置的月份名称缩写(例如 Jan) |
%B | 区域设置的完整月份名称(例如,一月) |
%c | 区域设置的日期和时间(例如,Thu Mar 3 23:05:25 2005) |
%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 | locale 相当于 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 "当前日期和时间 %s n " " $now " now = " $(date +'%d/%m/%Y') " printf "当前日期,格式为 dd/mm/yyyy %s n " " $now " echo "正在 $now开始备份,请稍候..." # 此处显示备份脚本的命令 # ...
结论
您学习了如何在 Linux 和类 Unix 系统上显示当前日期和时间。我们还解释了如何在 shell 变量中存储日期或时间。有关更多信息,请参阅 date 命令手册页,输入以下date 命令或在此处键入 GNU/date 帮助页面:
$ man date