导图社区 Shell脚本知识点学习笔记总结
Shell脚本知识点学习笔记总结、功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。
网店详情页排版方法分享~包括中心页面组成,优质详情必备,详情页的排版参考方法。感兴趣的小伙伴可以看看哦~
喷绘色彩基础培训方案,内容涵盖色彩基础,喷绘写真。框架清晰,内容丰富,希望对小伙伴有所帮助哦~
酒窖营销计划方案,包括结果目标,过程目标。框架清晰,内容丰富,有需要的小伙伴可以看看哦~ 可供大家参考,借鉴,交流。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
Shell脚本知识点学习笔记总结
Shell概述
Shell解析器
Linux三大发行版
RHEL
Ubntu
Open SUSE
Linux权限规定
drwxr-xr-x
r-read,w-write,x-exe
Shell脚本入门
脚本格式
#!/bin/bash 开头
填写内容
执行
bash/sh + 脚本的相对路径或绝对路径
不需要权限
采用输入脚本的绝对路径或相对路径执行脚本
需要权限
Shell中的变量
系统变量
$HOME
$PWD
$SHELL
Linux可有无数个shell
$USER
自定义变量
基本语法
定义变量
变量=值
撤销变量
unset 变量
声明静态变量
readonly变量,注意:不能unset
变量定义规则
(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
(2)等号两侧不能有空格
(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
(4)变量的值如果有空格,需要使用双引号或单引号括起来。
如 a=nsdd xswl
a="nsdd xswl"
特殊变量
$n
功能描述:$0代表该脚本名称,$1-$9代表第一到第九个参数
n为数字,10以上需要用大括号包含,如${10}
$#
功能描述:获取所有输入参数个数,常用于循环
$*
功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
$@
功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待
$?
功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了
运算符
$(运算式)或$[运算式]
expr +,-,\*,/,%
示例
expr 2 + 3
expr `expr 2 + 3` \* 4
S=$[(2+3)*4]
条件判断
[ condition ]
常用条件
整数
=
-lt(less than)
-le(less equal)
-eq(equal)
-gt(greater than)
-ge(greater equal)
[ 23 -ge 22 ]
-ne(not equal)
文件权限
-r(read)
-w(write)
[ -w helloworld.sh ]
-x(execute)
文件类型
-f(file)
-e(existence)
[ -e /home/atguigu/cls.txt ]
-d(directory)
流程控制
if判断
if [ 条件判断式 ] ; then 程序 fi 或者 if [ 条件判断式 ] then 程序 elif [ 条件判断式 ] then 程序 else 程序 fi
case语句
case $变量名 in "值1") 程序1 ;; "值2") 程序2 ;; *) 程序3 ;; esac
for循环
基本语法1
for((初始值;循环控制条件;变量变化)) do 程序 done
基本语法2
for 变量 in 值1 值2 值3… do 程序 done
while循环
while [ 条件判断式 ] do 程序 done
read读取控制台输入
read(选项)(参数)
选项
提示符
-p
等待秒
-t
函数
系统函数
basename
功效:获取文件名字
basename [string / pathname ][suffix]
使用示例
basename /home/atguigu/banzhang.txt .txt
dirname
功效:获取文件绝对路径
自定义函数
[ function ] funname[()] { Action; [return int;] } funname
function sum() { s=0 s=$[ $1 + $2 ] echo "$s" }
Shell工具
cut
功效:剪切数据,从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出
cut [选项参数] filename
默认分隔符为制表符
参数选项
-f
列号,提取第几列
-d
分隔符,按照指定分隔符分割
-c
指定具体的字符
切割列
cut -d " " -f 2,3 cut.txt
切割具体字符
cat cut.txt | grep "guan" | cut -d " " -f 1
切割ifconfig后打印的IP地址
ifconfig eth0 | grep "inet addr" | cut -d: -f 2 | cut -d " " -f1
sed
功效:
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
基本用法
sed [ 选项参数 ] 'command' filename
选项参数说明
-e
直接在指令列模式上进行sed的动作编辑
-i
直接编辑文件
命令功能描述
a
新增
d
删除
s
查找并替换
案例实操
删除sed.txt所有包含wo的行
sed '/wo/d' sed.txt
替换sed.txt中的wo为ni
sed 's/wo/ni/g;
g,全局替换
第二行删除并将wo替换为ni
sed -e '2d' -e 's/wo/ni/g' sed.txt
awk
sort