-
Shell脚本作用:
利用Shell功能,结合控制语句写的一个程序,主要用于帮我们维护系统。
Shell的功能:
学过的所有常用命令
变量
定义变量:
注意事项:
-
变量的类型
局部变量:不能被子进程调用(var1=hostname)
全局变量:可以被子进程调用(export var1=hostname)
-
变量的值类型
字符串型
整型(数字):通过declare来声明定义变量的类型(-i int整型)
进行简单数学运算
可以用let命令来实现简单数学运算
read:标准输入读取
-
awk:适用于更多场合,可以进行标准化截取并输出
格式:awk -F "分隔符" '{动作指令}' 文件
awk搜索关键字所在行并输出
NR:行数,即在第几行,NR的值就是几,$NR表示第几行的第几列。
在 Linux 上创建一个脚本,实现以下功能:
从键盘上输入一个指定网络接口名称后,按下列格式输出设备信息:
网络接口名称 设备MAC地址 设备IP地址
-
sed命令语法
sed [-hnVl[-e <script>]f-f<script文件>J[文本文件]
参数说明:
-e<script>或--expression= <script>以选项中指定的script来处理输入的文本文件。
-f<script文件>或--file= <script文件>以选项中指定的script文件来处理输入的文本文件。
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。
动作说明:
a:新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
c:字符串替换,c的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d:删除,因为是删除啊,所以d后面通常不接任何咚咚;
i:插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
P:打印,亦即将某个选择的数据打印出来。通常P会与参数 sed-n 一起运行
s:搭配正则表达式的替换,可以直接进行取代的工作,通常这个 S 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!
案例一:
案例二:
使用sed命令来关闭Selinux服务
案例三:
只删除第 2 行
案例四:
删除第 6 行到最后一行
案例五:
在第 2 行后加上 "Kane Kai"
案例六:
仅列出/mnt/passwd文件内的第 5-7 行
案例七:
数据的搜索并显示 /mnt/passwd 有root 关键字的行
案例八:
利用sed直接在test1.txt文件最后一行添加 Kane Kai
由于$代表的是最后一行,而a的动作是新增,因此该文件最后新增Kane Kai
sed 的-i选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第100 行加某些文字,此时使用 vim 可能会疯掉,因为文件太大了!那怎么办?就利用 sed 啊!透过 sed 直接修改/替换的功能,你甚至不需要再使用 vim 去修改文件了!
等号左右俩边不能有空格
变量名不能以数字开头
变量名可以使用 _ 开头
如果变量的值含有空格,必须使用引号:单引号活者双引号
可以把一个命令的结果赋予一个变量。
原文始发于微信公众号(菜鸟小新):Linux Shell基础详解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论