第一 shell基础学习笔记
前言
本系列为阅读《跟老男孩学习Linux运维——shell编程实战》笔记
几大脚本语言对比
shell脚本对于常规业务应用更符合Linux的简单、易用、高效的三大基本原则PHP优势在于小型网站系统的开发Python优势在于开发较复杂的运维工具软件、Web界面的管理工具和Web业务开发bash与sh的区别
sh为bash的软连接,更规范的写法为#!bin/bashbash破壳漏洞检测
执行下面命令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’” }’ | 正确 | 正确 | 正确 | 正确 |