【Linux脚本编程】——Shell编程基础——001
shell基础
目录
第1节 概念
1.1 什么是shell
Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出屏幕返回给用户。
1.1.1 shell对话方式
交互的方式:从键盘输入命令,通过/bin/bash的解析,可以立即得到Shell的回应,一问一答的方式
非交互式:shell脚本
1.2 为什么使用shell编程
作为一个合格的运维人员必须掌握一种或一种以上的脚本语言,shell编程则是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,可以把繁琐重复的命令写到shell脚本中执行,节约时间,有效的提高运维人员的工作效率,减少不必要的重复工作时间。
1.3 系统中的shell
linux系统默认shell是bash
第2节 变量
2.1 什么是变量
x+y=20 x=10 y=? 未知数(变量)
一个未知数,随时可以变化的量叫变量
2.2 变量的分类
2.2.1 普通变量(局部变量)
只能在当前环境下使用,可以通过export命令临时把普通变量变为环境变量使用
[[email protected] ~]# ip=10.0.0.209 给变量赋值(把数据存放到变量中)
[[email protected] ~]# echo $ip
10.0.0.209
[[email protected] ~]#
2.2.2 环境变量(全局变量)
1.大写
2.系统定义的
3.在大部分地方可以使用
2.2.3 特殊变量
类比记忆:
Linux和Java的对比:
echo 类似 System.out.println 效果
ip=10.0.0.09 等号两边不能有空格
read -p 类似 Scanner 提示用户录入信息
例如:
Linux:read -p "现在请输入一个文件名" fn
Java:Scanner sc =new Scanner(System.in);
第3节 shell脚本的书写规范
3.1.1 脚本存放位置
为了防止脚本乱放,统一存放在/shell/scripts/中
创建目录
3.1.2 脚本编辑使用vim
3.1.3 选择解释
在执行bash脚本的时候,内核会根据"#!"后的解释器来确定该用那个程序解释这个脚本中的内容。
3.1.4 文件名书写
文件名称一定要有意义,方便看出是干嘛用的脚本,并且以.sh结尾
#数字比较
numberCompare.sh
3.1.5 书写脚本的规范和习惯
案例:
1、 放在统一目录下,方便查找
2、 书写脚本要用vim编辑【步骤】
批量删除
批量增加
1.进入批量编辑模式(可视块)esc下ctrl+v
2.选择 批量增加的范围 , 这时可以配合指令d删除选中行,u是撤销指令 o是插入指令(向下插入一行 )
3.按 i 进行修改 ,下面显示插入状态即可编辑脚本了
4.按esc 退出编辑状态 等等
【录入】——》 wq:保存退出,q!强制退出 ——》并回车即可退出脚本编写
5. 执行shell脚本——》输出数字10 13大小比较结果
3、 脚本文件名称以.sh结束
4、 脚本开头一定要指定解释器
5、 脚本中#代表注释,#后的内容不会执行,不用的命令等可以用#注释掉,脚本中尽量不要出现中文注释以免出现因字符集不 同产生乱码
6、 代码符号书写规范
1.成对的符号一定要都写出来再添加内容,避免遗忘漏写;如 "" '' []等
2.流程控制语句一次书写完,再添加内容;(if 条件 ; then 内容;fi)
3.书写的代码符号都是英文输入法格式
4.通过缩进让代码易读