键盘 -- /dev/stdin -- 0 -- 标准输入linux
显示器 -- /dev/sdtout -- 1 -- 标准输出shell
显示器 -- /dev/sdterr -- 2 -- 标准错误输出缓存
标准输出重定向:bash
覆盖:命令 > 文件测试
追加:命令 >> 文件spa
标准错误输出重定向:操作系统
覆盖:错误命令 2> 文件3d
追加:错误命令 2>> 文件对象
正确输出与错误输出同时保存:blog
覆盖:命令 > 文件1 2> 文件2
追加:命令 >> 文件1 2>> 文件2
# &>/dev/null(黑洞,垃圾箱)
命令1 | 命令2 # 命令1 的正确输出做为命令2 的操做对象
grep:
grep [options] “搜索内容” 文件名
[options]
- i :忽略大小写
- v:反转输出结果 example:grep -v "#" grep -v "^$"
- c:至关于将其传递给 wc 程序
- n:显示行号,多用于编译时使用
- w:精确匹配
- r:在目录里面递归搜索
- A,B,C:
--color=auto :搜索出的关键字用颜色显示
example:
? 匹配任意一个字符
* 匹配任何内容
[] 匹配括号中的任意一个字符
[-] 匹配中括号钟任意一个字符,- 表明范围
# 注释
$ 用于调用变量的值
\ 转义符,在跟 \ 以后的特殊符号将失去特殊含义,变为普通字符
[^] 逻辑非,表示匹配不是中括号内的一个字符。
’ ’ 在单引号中全部的特殊符号都没有特殊含义
“ ” 在双引号中特殊符号都没有特殊含义
可是“$”(调用变量的值)、“ ' ”(引用命令)、“\”(转意符)是例外
$() 和反引号做用同样,用来引用系统命令
变量是计算机内存的单元,其中存放的值是能够改变的。
能够由字母,数字,下划线组成,可是不能以数字开头
变量的默认类型都是字符串型。
变量要用等号链接值,等号左右两侧不能有空格
变量的值若是有空格,须要使用单引号或者双引号包括
变量的值中,可使用 “\” 转义符
能够把命令的结果做为变量值赋予变量,则须要使用 反引号 或 $() 包含命令
若是是把命令的结果做为变量值,那么能够进行变量值得叠加。不过变量须要用 “$变量名” 或 ${变量名} 包含
环境变量名建议大写,便于区分
用户自定义变量:自由定义(只要符合规则)
环境变量:这种变量中主要保存的是和操做系统环境相关的数据
预约义变量:是 Bash 中已经定义好的变量,变量名不能自定义,变量做用也是固定的
位置参数变量:这种变量主要是用来向脚本当中传递参数(严格来讲是预约义变量中的一种)
用户自定义变量只是在当前的 shell 中生效,而环境变量会在当前 shell 和这个 shell 的全部子 shell 的全部子 shell 当中生效
若是把环境变量写入相应的配置文件,那么这个环境变量就会在全部的 shell 中生效
概述: 环境变量,对于全部的环境都会影响
export: export 申明为全局变量
env:
unset:
pstree:进程树
PATH:
系统查找命令的路径
example(临时生效)
(并不习惯如此)
(使用变量叠加的方式,把本身存放脚本的位置添加到环境变量当中)
PS1:
定义系统提示符的变量
- p: “ 提示信息 ”,在等待 read 输入时,输出提示信息
- t : “ 秒数 ”,read命令会一直等待用户输入,使用此选项能够指定等待时间
- n: “ 字符数 ”,read命令只接受指定的字符数,就会执行
- s: “ 隐藏 ”, 隐藏输入的数据,适用于机密信息的输入
1)、linux 默认的变量是 字符串类型(integer)
2)、declare 声明变量类型