2.2.3 命令变量
学习目标
这一节,我们从 基础知识、简单实践、小结 三个方面来学习。
基础知识
基本格式
定义方式一:
变量名=`命令`
注意:
` 是反引号
定义方式二:
变量名=$(命令)
执行流程:
1、执行 ` 或者 $() 范围内的命令
2、将命令执行后的结果,赋值给新的变量名A
简单实践
命令变量实践
查看默认的空值变量
[root@localhost ~]# echo $myuser
方法1设定变量名
[root@localhost ~]# myuser=`whoami`
[root@localhost ~]# echo $myuser
root
查看默认的空值变量
[root@localhost ~]# echo $mydir
方法2设定变量名
[root@localhost ~]# mydir=$(pwd)
[root@localhost ~]# echo $mydir
/root
清理变量
[root@localhost ~]# unset mydir myuser
其他常见的实践
自动生成一系列数字
[root@localhost ~]# NUM=`seq 10`
[root@localhost ~]# echo $NUM
1 2 3 4 5 6 7 8 9 10
文件备份添加时间戳
[root@localhost ~]# touch file-a
[root@localhost ~]# cp file-a file-a-$(date +%F)
[root@localhost ~]# ls file-a*
file-a file-a-2022-06-08
简单小综合实践
[root@localhost ~]# cat get_netinfo_v2.sh
#!/bin/bash
# 功能:获取当前主机的网卡设备信息
# 作者:wangshuji
# 版本:V0.2
# 联系:www.superopsmsb.com
# 定制基础变量
RED="\E[1;31m"
GREEN="echo -e \E[1;32m"
END="\E[0m"
# 获取ip地址信息
IPDDR=$(ifconfig eth0 | grep -w inet | awk '{print $2}')
# 获取掩码地址信息
NETMAST=$(ifconfig eth0 | grep -w inet | awk '{print $4}')
# 获取广播地址信息
BROADCAST=$(ifconfig eth0 | grep -w inet | awk '{print $6}')
# 获取MAC地址信息
MACADDR=$(ifconfig eth0 | grep ether | awk '{print $2}')
# 打印网络基本信息
$GREEN---------主机网卡基本信息---------$END
echo -e "HOSTNAME: $RED `hostname` $END"
echo -e "IP: $RED $IPDDR $END"
echo -e "NetMask: $RED $NETMAST $END"
echo -e "Broadcast: $RED $BROADCAST $END"
echo -e "MAC Address: $RED $MACADDR $END"
$GREEN---------主机网卡基本信息---------$END
文件执行后效果
小结