liunx运维实战-----3 shell变量的核心基础知识和实践

  • 1定义环境变量并赋值的方法

    1 export 变量名=值

    2 source /etc/profile

    3 echo $变量名

    4 env | grep 变量名

  • 2 环境变量也叫全局变量

  • 3特殊情况:sed和grep没有问题

    因为 awk取用shell变量时 和之前的定义是相反的

    在awk取用shell变量时 我们更好的是先用echo加符号输出变量 然后通过管道给awk

参考代码

root@localhost data\]# echo $ETT oldgirl \[root@localhost data\]# awk 'BEGIN {print $ETT}' 输出为空格 \[root@localhost data\]# awk 'BEGIN {print '$ETT'}' 输出为空格 \[root@localhost data\]# awk 'BEGIN {print "$ETT"}' 输出为本身 KaTeX parse error: Expected 'EOF', got '#' at position 26: ...localhost data\]#̲ awk 'BEGIN {pr...ETT'"}' 输出命令的值 oldgirl \[root@localhost data\]# awk 'BEGIN {print '"$ETT"'}' 输出为空格 * 4 关于自定义普通字符串变量的建议 不带引号: 内容纯数字 简单的连续字符(不带空格) 双引号(弱引用):没有特殊情况,特别是带空格的 单引号(强引用):当变量里的内容需要原样输出时 * 5变量名及变量内容小结 1变量名只能为数字 字母 下划线,只能以字母或下划线开头 2变量名的定义要有一定的规范 并且要见名知意 * 6 shell 定义变量时使用"=" 的知识 "a=1"里等号是赋值的意思 比较变量是否相等 也可以用 "="或 "=="" * 7 补充:Awk 的两个特殊模式 BEGIN 和 END,BEGIN 被放置在没有读取任何数据之前,而 END 被放置在所有的数据读取完成以后执行 体现如下: BEGIN{}: 读入第一行文本之前执行的语句,一般用来初始化操作 {}: 逐行处理 END{}: 处理完最后以行文本后执行,一般用来处理输出结果 \[root@localhost data\]# awk -F : 'BEGIN{i=0}{if($3\<1000){i++}}END{print i}' /etc/passwd 19

相关推荐
xuanzdhc2 小时前
Linux 基础IO
linux·运维·服务器
愚润求学2 小时前
【Linux】网络基础
linux·运维·网络
bantinghy3 小时前
Linux进程单例模式运行
linux·服务器·单例模式
小和尚同志3 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手3 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
AWS官方合作商9 天前
AWS ACM 重磅上线:公有 SSL/TLS 证书现可导出,突破 AWS 边界! (突出新功能的重要性和突破性)
服务器·https·ssl·aws
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
程序员的世界你不懂9 天前
Appium+python自动化(三十)yaml配置数据隔离
运维·appium·自动化
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器