Bash 第三讲 日期格式化 休眠 基本运算符

9 篇文章 0 订阅
8 篇文章 0 订阅

Bash 日期格式化

Bash 日期

在 Bash 中,您可以使用date命令对系统的当前日期和时间值进行更改或其他操作。 语法:

$ date

注:当您不附带其他选项,单独使用date命令时,它只会执行打印系统当前的日期和时间值。

选项列表

您可以参考选项列表,选择选项与date命令一同使用以生成格式输出。

选项作用
-d用于显示以字符串设置的时间
-s用于设置以字符串设置的时间
-f用于处理多个日期
-i用于生成符合ISO 8601的日期、时间,以字符串输出
-r用于打印文件的最后修改日期
-u用于打印或设置世界标准时间
-help用于获取此命令的帮助
-version用于获取版本信息

您如果想要格式化日期,可以使用以下方法:

$ date '+<format-option-codes><format-option-codes> <format-option-codes>'
格式化选项列表
选项日期指代输出描述输出示例
+%a周一至周五周的英文缩写(如,Mon ,Tue ,Wed )Mon
+%A周一至周五周的完整拼写(如,Monday ,Tuesday ,Wednesday )Monday
+%b月份月份的英文缩写(如,Jan ,Feb ,Mar )Jan
+%B月份月份的完整拼写(如,January ,February ,March )January
+%d某个月的某一日(以数字类型输出)30
+%D日期当前的日期(月/日/年)06/17/2020
+%F日期当前的日期(年-月-日)2020-06-17
+%H小时值(24小时制,以数字类型输出)18
+%I小时值(12小时制,以数字类型输出)6
+%j某年的某一日(001-360,以数字类型输出)135
+%m月份月份(01-12,以数字类型输出)06
+%M分钟值(00-59,以数字类型输出)55
+%N纳秒纳秒值(000000000-999999999,以数字类型输出)123456789
+%S秒钟值(00-59,以数字类型输出)49
+%T时间当前的时间(时:分:秒)11:04:35
+%u当前周(01-07,起始周一,以数字类型输出)03
+%U周数某年的某一周(00-53,起始周日,以数字类型输出)25
+%Y当前完整年份(以数字类型输出)2020
+%Z时区时区缩写(如IST , GMT)IST

注:上表排序参照字母表。

示例

若您想获取 Month-Date-Year 的日期格式,可以使用命令选项组合date +%m-%d-%Y.

#!/bin/bash

mdy=`date +%m-%d-%Y`
echo "Date in format Month-Date-Year"
echo $mdy

您将会得到以下结果:

Date in format Month-Date-Year
06-17-2020

注:请参照格式化选线列表,严格区分格式选项字母大小写。
在这里插入图片描述

Bash 休眠

在 Bash 中 sleep 命令用于在指定的时间段内插入延迟或暂停执行(即休眠)。 当您处于特定目的需要延迟或暂停执行任何命令时,您就可以使用 sleep 命令了。

sleep 命令

语法:

sleep number[suffix]

注:

numeber 是时间值,可以使用正整数或小数。
suffix 是可选后缀(时间单位):
s -秒
m -分
h -时
d -天

如果没有后缀单位,默认秒为单位。
如果您传递了多个时间参数,总的睡眠时间将等于所有参数的和。
示例: 睡眠1天2小时3分30秒,如下:

sleep 1d 2h 3m 30s

Bash 脚本演示说明

在此,将演示默认单位为秒的情况下,使用sleep命令。

#!/bin/bash

# start time
date +"%H:%M:%S"

echo "Wait for 5 seconds"

sleep 5

# end time
date +"%H:%M:%S"

echo "Task Completed"

将得到以下结果:

12:01:43
Wait for 5 seconds
12:01:48
Task Completed
注:
执行流程
以 Hour:Minutes:Seconds 的格式打印输出休眠开始时间。
打印输出提示:Wait for 5 seconds 。
执行 sleep 命令,休眠5秒钟。
以 Hour:Minutes:Seconds 的格式打印输出休眠结束时间。
打印输出提示:Task Completed 。

Bash基本运算符

您可能希望通过脚本运算获得的结果是您想要的,那么您需要应用到算术运算符参与算术运算以获得您所需的结果。

算术运算符列表

在 Bash 中共支持11种算术运算符。

运算符描述运算示例
+加法$((5+3)) ,打印输出 8
-减法$((5-3)) ,打印输出 2
*乘法$((5*3)) ,打印输出 15
/除法$((15/3)) ,打印输出 5
**求幂$((10**3)) ,打印输出 1000
%$((10%3)) ,打印输出 1
+=常量递增变量,结果存储回变量x=5;let"x += 3";echo $x ,打印输出 8
-=常量递减变量,结果存储回变量x=5;let"x -= 3";echo $x ,打印输出 2
*=变量乘以常量,结果存储回变量x=5;let"x *= 3";echo $x ,打印输出 15
/=变量除以常量,结果存储回变量x=15;let"x /= 3";echo $x ,打印输出 5
%=变量除以常量的余数,结果存储回变量x=10;let"x *= 3";echo $x ,打印输出 1
关系运算符列表
运算符描述运算示例
-eq检查两个数字是否相等1 -eq 1 ,返回 true
-ne检查两个数字是否不相等1 -ne 2 ,返回 true
-gt检查左边数是否大于右边数2 -gt 1 ,返回 true
-lt检查左边数是否小于右边数1 -gt 2 ,返回 true
-ge检查左边数是否大于等于右边数2 -ge 1 ,返回 true
-le检查左边数是否小于等于右边数1 -le 2 ,返回 true
逻辑运算符列表
运算符描述
&&逻辑为AND
||逻辑为OR
Bash 算术运算
  • 双括号的使用
    基本语法:
((expression))

可采用四种大同小异的方法来实现所需的目标运算。

Num=$((5+3))
echo "Num = $Num"
((Num=5+3))
echo "Num = $Num"
Num1=5
Num2=3
((Num3=Num1+Num2))
echo "Num3 = $Num3"
Num1=5
Num2=3
Num3=((Num1+Num2))
echo "Num3 = $Num3"

以上四种方法结果均相同。

  • 反引号的使用
    反引号要与expr(通用表达式求值器)执行算术扩展。
    `expr`在算术运算结束后不会将结果保存到变量中,而是直接将结果打印输出,如下示例:
#!/bin/bash

echo "Num1=5, Num2=3"
echo "Num3 is the value of addition Num3=Num1+Num2"
Num1=5
Num2=3
echo "Num3= `expr $Num1 + $Num2`"

执行后得到以下结果:

Num1=5,Num2=3
Num3 is the value of addition Num3=Num1+Num2
Num3= 8
  • let 命令的构建
    let 是 Bash 的内置命令,用于执行算术运算,算术运算完成后会将结果存储至变量中,语法为:
let <arithmetic expression>

示例:

#!/bin/bash

Num1=10
Num2=6
Num3=0
echo "W3Cschool"
let "Num3 = $(( Num1 + Num2 ))"
echo "Num3= $Num3"

执行后得到一下结果:

W3Cschool
Num3= 16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值