shell脚本基础和grep文本处理工具企业应用1

bash特性及bash脚本编程初步:
用户要跟计算机交互就需要有终端,比如:显示器、键鼠等,在终端有附着的接口程序
GUI:KDE、GNome、Xfce
CLI:/etc/shells
bash
zsh
fish
bash的特性:
命令行展开:~,{}
命令别名:alias,unalias
命令历史:history
文件名通配:glob
快捷键:Ctrl+a,e,u,k,l
命令补全:$PATH
路径补全:
bash特性之:命令hash
缓存此前命令的查找结果:key-value
key:搜索键
value:值
hash命令:
hash:确定并记住每一个给定名称命令的完整路径,如果不提供参数,则显示已经记住的命令的信息
-d 忘记每一个已经记住的命令的位置
~]# hash -d cat
-r 忘记所有记住的位置
bash特性之:变量
程序:指令+数据
指令:由程序文件提供
数据:IO设备输入、文件、管道、变量
程序:算法+数据结构
变量名+指向的内存空间
变量赋值:name=value
变量类型:存储格式、表示数据范围、参与的运算
编程语言:
强类型变量
弱类型变量:
bash把所有变量统统视作字符型
bash中的变量无需事先声明;随用随取;相当于,把声明和赋值过程同时实现
声明:类型,变量名
变量替换:把变量名出现的位置替换为其所指向的内存空间中数据
变量引用:${var_name},$var_name
变量名:变量名只能包含数字、字母和下划线,而且不能以数字开头
变量名:见名知义,命名机制遵循某种法则;不能够使用程序的保留字,例如:if,else,then,while等等
例如:chicken_Total
bash变量类型:
本地变量:作用域仅为当前shell进程
环境变量:作用域为当前shell进程及其子进程
局部变量:作用域为某代码片断(函数上下文)
位置参数变量:当执行脚本的shell进程传递的参数
特殊变量:shell内置的有特殊功用的变量,例:$?,0表示成功,1-255表示失败
本地变量:
变量赋值:name=value
变量引用:$(name),$name
"":变量名会替换为其值
'':变量名不会替换为其值
查看变量:set
撤销变量:unset name
注意:此处非变量引用
环境变量:
变量赋值:
(1)export name=value
(2)name=value
export name
(3)declare -x name=value
(4)name=value
declare -x name
变量引用:$(name),$name
注意:bash内嵌了许多环境变量(通常为全大写字符),用于定义bash的工作环境,我们自己定义时尽量使用小写
PATH,HISTFILE,HISTSIZE,HISTFILESIZE,HISTCONTROL,SHELL,HOME,UID,PWD,OLDPWD
查看环境变量:
export
declare -x
printenv
env
撤销环境变量:unset name
只读变量:
declare -r name
readonly name
只读变量无法重新赋值,并且不支持撤销;存活时间为当前shell进程的生命周期,随shell进程终止而终止
bash特性之多命令执行:
~]# COMMAND1;COMMAND2;COMMAND3;...
逻辑运算:
运算数:真(true,yes,on,1)
假(false,no,off,0)
与:
1 && 1 = 1
1 && 0 = 0
0 && 1 = 0
0 && 0 = 0
或:
1 || 1 = 1
1 || 0 = 1
0 || 1 = 1
0 || 0 = 0
非:
! 1 = 0
! 0 = 1
短路法则:
~]# COMMAND1 && COMMAND2
COMMAND1为“假”,则COMMAND2不会再执行
COMMAND1为“真”,则COMMAND2必须执行
示例: ~]# touch /tmp/test.etc && ls /etc > /tmp/test.etc
~]# COMMAND1 || COMMAND2
COMMAND1为“真”,则COMMAND2不会再执行
COMMAND1为“假”,则COMMAND2必须执行
示例: ~]# id $username || useradd $username
shell脚本基础和grep文本处理工具企业应用1的更多相关文章
- shell脚本基础和grep文本处理工具企业应用2
shell脚本编程: 编程语言的分类: 根据运行方式 编译运行:源代码-->编译器(编译)-->程序文件 优 ...
- shell脚本基础和grep文本处理工具企业应用4
文本处理工具: egrep: 支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E egrep [OPTIONS] PATTERN [FILE...] ...
- shell脚本基础和grep文本处理工具企业应用3
文本处理工具: linux上文本处理三剑客 grep,egrep,fgrep:文本过滤工具(模式:pattern)工具 grep:默认支持的是基本正则表达式: ...
- shell脚本学习指南-grep文本搜索命令-学习(3)
1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...
- [linux] grep 文本搜索工具
grep [option] pattern file Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep全称是Global Regular ...
- shell脚本-基础
shell脚本-基础 编程基础 程序是指令+ 数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell 程序提供了编程能力,解释执行. 计算运行二进 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- Shell脚本基础学习
Shell脚本基础学习 当你在类Unix机器上编程时, 或者参与大型项目如k8s等, 某些框架和软件的安装都是使用shell脚本写的. 学会基本的shell脚本使用, 让你走上人生巅峰, 才怪. 学会 ...
- 什么是Shell?Shell脚本基础知识详细介绍
这篇文章主要介绍了什么是Shell?Shell脚本基础知识介绍,本文是一篇Shell脚本入门文章,在本文你可学到什么是Shell.有多少种Shell.一个Shell脚本代码实例,需要的朋友可以参考下 ...
随机推荐
- 【Struts中private static final long serialVersionUID的作用】
private static final long serialVersionUID = -1672970955045193907L; SerialVersionUID,后面简称SUID 其实序 ...
- AES加密解密 加密解密使用
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...
- Flask之上下文管理机制
前引 在了解flask上下文管理机制之前,先来一波必知必会的知识点. 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__.__getattr__系列.__get ...
- 什么是vue生命周期和生命周期钩子函数?
原文地址 vue生命周期简介 咱们从上图可以很明显的看出现在vue2.0都包括了哪些生命周期的函数了. 生命周期探究 对于执行顺序和什么时候执行,看上面两个图基本有个了解了.下面我们将结合代码去看看钩 ...
- 自动化运维:(1)认识 Shell
目录 (一)运维是什么? (二)什么是 Shell? (三)Shell的分类 (四)Shell脚本 (五)Shell的变量 (六)表达式 (七)Linux常见符号 (八)常见命令 (一)自动化运维是什 ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- Windows多线程编程入门笔记
每次处理并行任务时,如果要等待用户输入或依赖外部(如与灿亨控制器响应),就应该为类似的操作单独创建一个线程,这样我们的程序才不会挂起无响应. 静态库和动态库 静态库是指在程序运行前就编译完成的库,如# ...
- Socket与系统调用深层分析
实验背景: Socket API编程接口之上可以编写基于不同网络协议的应用程序: Socket接口在用户态通过系统调用机制进入内核: 内核中将系统调用作为一个特殊的中断来处理,以socket相关系统调 ...
- Postfix to Prefix Conversion & Prefix to Postfix Conversion
Postfix to Prefix Conversion Postfix: An expression is called the postfix expression if the operator ...
- 小白必看的Python爬虫流程
定义: 网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本. 简介: 网络蜘蛛是一个很形象的名字.如果把互联网比喻成一个蜘蛛网,那么Spider ...