变量

系统内置变量

date变量

date系统内置变量,用于获取当前时间,格式为YYYY-MM-DD HH:MM:SS

格式

常用格式:

[root@lwz1 ~]# date
2023 12 26 星期二 10:18:37 CST

# 列出全部时间,年月日 时分秒 星期
[root@lwz1 ~]# date "+%Y-%m-%d %H:%M:%S %w"
2023-12-26 10:29:08 2

# 年月日
[root@lwz1 ~]# date +%Y-%m-%d
2023-12-26
或者
[root@lwz1 ~]# date +%y-%m-%d
23-12-26

# 时分秒
[root@lwz1 ~]# date +%H:%M:%S
10:21:21
或者
[root@lwz1 ~]# date +%T
10:21:31

# 时间戳
[root@lwz1 ~]# date +%s
1703557366

# 翻译时间戳
[root@lwz1 ~]# date -d @1703557366
2023 12 26 星期二 10:22:46 CST

# 一天后的当前时间
[root@lwz1 ~]# date -d "+1day"
2023 12 27 星期三 10:24:17 CST

# 一天前的当前时间
[root@lwz1 ~]# date -d "-1 day"
2023 12 25 星期一 10:24:38 CST

# 一个月前的当前时间
[root@lwz1 ~]# date -d "-1 month"
2023 11 26 星期日 10:26:10 CST

# 一分钟前
[root@lwz1 ~]# date -d "-1 min"
2023 12 26 星期二 10:25:37 CST

# 星期
[root@lwz1 ~]# date +%w
2
或者
[root@lwz1 ~]# date +%W
52

# 日历
[root@lwz1 ~]# cal
     十二月 2023
      
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

-d 选项用于指定时间,格式为-d "+1 day"表示增加一天,即后一天的时间。

自定义变量

变量定义

变量定义格式:

[root@lwz1 ~]# name=lwz

[root@lwz1 ~]# echo $name
lwz
  • 变量是为了方便简化比较长的命令,和常用命令

  • 变量名和等号之间不能有空格

  • 变量名只能包含字母、数字和下划线,且不能以数字开头

  • 变量名是区分大小写的

脚本中的变量

  • 使用条件语句时,常用变量if [ $a -gt 1 ]; then ... ; fi

  • 引用某个命令的结果,用变量代替n="wc -l 1.txt"

  • 用户交互时,用变量read -p "Input a number: " n; echo $n如果没写n,可以直接使用$REPLY

  • 内置变量$0表示当前脚本的文件名,$1表示第一个参数,$2表示第二个参数,$#表示参数个数,$*表示所有参数,$@表示所有参数,$?表示上一条命令的退出状态。

  • 数学运算时,a=1;b=2;c=$(($a+$b));echo $ca+b也可以用$[$a+$b]

  • 获取字符串长度${#string}