当前位置: 首页 > article >正文

课时17:本地变量_命令变量

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
文件执行后效果

在这里插入图片描述

小结



http://www.kler.cn/a/231171.html

相关文章:

  • 2024-02-08 思考-楚门的世界
  • 07:Kubectl 命令详解|K8S资源对象管理|K8S集群管理(重难点)
  • 6-3、T型加减速单片机程序【51单片机+L298N步进电机系列教程】
  • 9.4 OpenGL帧缓冲:纹理和帧缓冲之间的反馈循环
  • huggingface学习|用dreambooth和lora对stable diffusion模型进行微调
  • 【JS逆向六】(上)逆向模拟生成某网站的【sig】和【payload】的值 仅供学习
  • LoveWall v2.0Pro社区型校园表白墙源码
  • 2024-02-06 TCP/UDP work
  • 国际物流数字化运输方式选择指南 | 箱讯科技
  • EMC学习笔记(二十二)降低EMI的PCB设计指南(二)
  • 代码随想录算法训练营29期Day42|卡码网46,LeetCode 416
  • 【Java EE】----Spring框架创建和使用
  • Kubernetes基础(十二)-kube-prox/CNI/服务发现(DNS域名解析)区别
  • 如何计算两个指定日期相差几年几月几日
  • VPS与云计算有什么区别?
  • 使用vite创建vue+ts项目,整合常用插件(scss、vue-router、pinia、axios等)和配置
  • CentOS7搭建Hadoop集群
  • 详解各种LLM系列|LLaMA 1 模型架构、预训练、部署优化特点总结
  • 十分钟GIS——geoserver+postgis+udig从零开始发布地图服务
  • 删除.git的影响、git分支切换时注意事项