第一 shell基础学习笔记
前言
本系列为阅读《跟老男孩学习Linux运维——shell编程实战》笔记
几大脚本语言对比
shell
脚本对于常规业务应用更符合Linux的简单、易用、高效的三大基本原则PHP
优势在于小型网站系统的开发Python
优势在于开发较复杂的运维工具软件、Web界面的管理工具和Web业务开发bash与sh的区别
sh为bash的软连接,更规范的写法为#!bin/bash
bash破壳漏洞检测
执行下面命令1env x='() { :;}; echo be careful' bash -c "echo this is a test"
如果返回下面结果12be carefulthis is a test
则需要尽快升级bash。
source
或.
命令
source
或.
命令的功能是加载并执行相关脚本文件中的命令及语句
相当于PHP
中的include
的功能。- 使用
sh
执行脚本,是启动一个子shell来执行,所以脚本中定义的变量在脚本执行结束,关掉子shell后不会保留;而source
则相当于在当前shell中执行,所以脚本中定义的变量将会保留。awk
中调用变量对三个引号的特殊性
AWK\ETT | ETT=123 | ETT=’oldgirl’ | ETT=”tingting” | ETT=`pwd` |
---|---|---|---|---|
awk ‘BEGIN { print “\$ETT” }’ | \$ETT | \$ETT | \$ETT | \$ETT |
awk ‘BEGIN { print $ETT }’ | ||||
awk ‘BEGIN { print ‘$ETT’ }’ | 正确 | 语法报错 | ||
awk ‘BEGIN { print “‘$ETT’” }’ | 正确 | 正确 | 正确 | 正确 |