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

相关推荐
刀法孜然8 分钟前
vim 编辑中,临时挂起编辑器进程,返回到终端命令行
linux·编辑器·vim
Amelio_Ming10 分钟前
systemd-journald和rsyslogd日志配置详解
linux·运维·服务器
九皇叔叔44 分钟前
Linux Shell 中的 $():命令替换的核心用法
linux·运维·chrome
半桔1 小时前
【网络编程】详解 IP 协议:报头字段、路由器功能、网段划分和分片传输
linux·网络·网络协议·tcp/ip
大聪明-PLUS1 小时前
TCP/IP 协议族—理论与实践(二)
linux·嵌入式·arm·smarc
liulilittle1 小时前
Linux内核网络优化:两个网络调优解决方案
linux·运维·服务器·网络·内核·信息与通信·通信
hweiyu002 小时前
Linux运维实战:系统及服务管理(视频教程)
linux·运维·服务器
风随心飞飞2 小时前
linux 环境下mysql 数据库自动备份和清库 通过crontab 创建定时任务实现mysql数据库备份
linux·数据库·mysql
止观止2 小时前
VS Code 二次开发:跨平台图标定制全攻略
linux·windows·vscode·macos
九皇叔叔2 小时前
Windows用Notepad++编辑Shell脚本:一招解决Linux执行报错问题
linux·windows·notepad++