欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Linux脚本相关题目-selfdo

时间:2023-07-23

基础部分

环境:
#!/bin/bash
运行脚本的参数  -x -n
运行方式:1)sh xx.sh    2)加x权限


变量:
a="x"
a=$a"y"
echo $a        输出xy

$a  =   ${a}  =  "${a}"
注:'$a' 指的是字符本身,而不是变量值


字符串:
"abc"=abc
如果字符串内容包括",  应该用转义符

那a=1  $a到底是数字 1,还是字符"1"


系统变量:
$1 $#  $?

执行指令:
最普遍的形式:执行一个指令,将其打印出来的信息,赋值给一个变量  a = $(grep...)
()内的内容,有时不加"",有时加

判断逻辑:
[ a ] && b || c       a为true,则执行b,否则执行c
如有多分支,或分支内的语句多,用if elif fi结构
注:test,case平常不用

判断逻辑的语法表格要熟练,包括:文件,字符串,数字  以及逻辑连接
逻辑连接优先用 [ -a  ],而不是[] && []
只有一个判断逻辑,建议用[[]];  如是[ -a  ],不能用[[]]

循环逻辑:
while until  for 3种语法,分别做1+2+..10
用for遍历一个目录下的所有文件

其他:
exit 0成功 其他值代表分支
> 应用
/dev/null
输入一段多行

不用深入细节:
只把关我要什么,不关心怎么做
日期
正则
sed s的局部替换

三大件

grep 

    1,过滤出cd 
    2,排除ef
    3,过滤ifcfg中的inet这一行并排除127.0/172.0
    4,输出以ipaddr开头的行
    5,输出以ipaddr结尾的行
    6,将没有root的行输出出来
    7,ifcfg.* 列出所有包含ifcfg的文件

awk
    
    1,过滤出cd以:号为分隔符
    2,输出第一列匹配值为2的行
    3,给出一个文档,列出该文档一共有几行,一共有几列(这个列是由逗号分隔的)
    4,逻辑判断打印并输出一个文件下第2~3行的第一个字符
    5,输出以ch开头的比那个且第三列中为root字符
    6,输出第一列不以r开头的行
    
sed

    1,用s的方法替换将文件中xy字样替换为 XY字样
    2,用c来替换整行
    3,在a.txt这个文本中写入一部分信息,用sed将a文本的信息全部导入到b文本中第二行后面
    4,测试输出/home/a.txt这条件下前5行
    5,测试并使用s来将root替换成ch
    6,去掉c.txt这个文件中不输出以#号开头的行
    7,在ch.txt这个文件中找到并且去掉#开头并将其中的ch替换成root,并输出

下面的图片是上面文字出题的三剑客的一个原搞,也就是说要是自己出题,出题是最能表现自己对于该东西的理解

       出题前的准备

        1,先看一边知识点 分为两种结合:视频+书籍  注意:边看遍思考,自己到底想要什么,该书籍或视频的价值在哪,能干什么用

        2.,根据视频 有例题就跟着练习,一定是一边练习一边思考

 

 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。