跟兄弟连学linux pdf,跟着兄弟连系统学习Linux-【day19】

本文详细介绍了Shell脚本中的预定义变量、逻辑运算符、进程ID及键盘输入处理。讲解了数值运算的不同方法,并探讨了环境变量的声明、测试与内容替换。重点讨论了各种环境变量配置文件的作用、生效范围及其相互影响。此外,还提到了正则表达式的基础知识及其在文件内容匹配中的应用。
摘要由CSDN通过智能技术生成

day19-20200628

p73.预定义变量

位置参数变量就是预定义变量

【$?】上一个命令的返回状态,0表示正确执行,非0不正确执行,非0的值是自己定义的。命令不存在是127。文件找不到是2。【&&】逻辑与【||】逻辑或,都是需要判断第一条命令是否正确,此处就可以连接起来了。

d4e94d47a02a0859e72539bfd4c480e2.png

【$$】显示当前进程的pid

【$!】显示最后一个后台执行的pid

41877c35f7b1482a8dc2f1e63749caae.png

【read 选项 变量名】接收键盘输入,相当于python中的input

-p “提示信息”

-t 秒数

-n 字符数,满足字符后就直接执行。

-s 隐藏输入的信息

f8b11cfc8c8102b65639fd7a32e91f03.png

p74.数值运算与运算符

不推荐【declare [+/-] [选项] 变量名】声明变量类型

+:取消类型

-:设定类型

-i:整数型

-x :声明为环境变量,export 声明环境变量作用相同,但是export用的较多。

-p:显示声明变量的类型

2f4c56798211964199465f1f7f52dac8.png

不推荐:【expr或者let】数值运算工具

【dd=$(expr $aa + $bb)】注意“+”左右的空格不可以省略。

太复杂 不推荐使用

32470410dff7076e2dd3d5097960216d.png

推荐:【$((运算式))或者$[运算式]】

893f9a165a5bfb9362098df857e9ee5d.png

运算符:优先级从上到下。

常用的就是:加减乘除,逻辑与,逻辑或。

d8de7755ea347ce4c870232f5e684ae9.png

p75.变量测试与内容替换

感觉用处不大,变量测试最主要的就是显示x的值,用来测试y的值是否存在。

shell中逻辑关系比较复杂

ce5f2866c99b5fbcd24bfc47e255ed66.png

p76.环境变量配置文件简介

永久生效只有写在配置文件。

【source 配置文件】文件直接生效

【. 配置文件】配置文件直接生效

系统默认环境变量,例如:PATH,HITSICE等

常见的环境变量配置文件

【/etc/profile】【/etc/profile.d/*.sh】【/etc/bashrc】【~/.bashrc】【~/.bash_profile】

p77.环境变量配置文件作用

【/etc/profile】所有登录用户生效

【/etc/profile.d/*.sh】所有登录用户生效

【/etc/bashrc】所有登录用户生效

【~/.bashrc】只对当前用户生效

【~/.bash_profile】只对当前用户生效

优先级:不用变量叠加的话,后面的会覆盖前面的值。

登录-【/etc/profile】-( 读取【/etc/profile.d/*.sh】所有文件-【/etc/profile.d/lang.sh】-【/etc/locale.conf】)-【~/.bash_profile】-【~/.bashrc】-【/etc/bashrc】-命令提示符

p78.其他环境变量配置文件和登录信息

【~/bash_logout】注销时保存的信息

【~/bash_history】历史命令保存,排错信息的保存手段。

【/etc/issue】本地终端前欢迎信息,最好写一些警告信息。

\d 当前系统日期

\s 操作系统名称

\l 登录终端

\m 硬件结构

\n 主机名

\o 域名

\r 内核版本

\t 系统时间

\u 用户序列号

【/etc/issue.net】远程终端前欢迎信息,只能写文本。上面的选项不可以使用。默认文件不生效。需要生效的话,需要【/etc/ssh/ssd_config】加入“Banner /etc/issue.net”才能显示,需要重启ssh服务,service restart sshd 或者 systemctl restart sshd

【/etc/motd】登陆后的欢迎信息。

p78.正则表达式

重要点,比较期待的!!

通配符和正则表达式都是用来匹配的。

通配符是用来匹配符合条件的文件名。完全匹配,ls,find,cp 【* ? []】

正则是用来匹配符合条件的文件内容。部分匹配,grep,awk,sed

基础正则表达式

【】前一个字符匹配0次或者任意多次

“a”会匹配所有的字符,有或者没有都会匹配。“aa”至少有一个a。

【.】匹配除了换行符外的任意一个字符

“a .. b”a b间有两个字符

“a . b”a b间所有字符

“.*”所有字符

【^】以什么开头

“^M”以大写M开头的行

【$】以什么结尾

“$N”以大写N结尾的行

【^$】匹配空白行

【[]】中括号,匹配中括号中指定的任意一个字符。

“na[ims]e”匹配[]中的一个,要么i 要么 m 要么s

【[^]】匹配除了中括号的字符以外的任意字符

“[^a-z]”非字母

“[^0-9]”非数字

【\】转义符

【{n}】前面的字符恰好出现n次

【{n,}】前面的字符不小于n次

【{n,m}】前面的字符至少n次,最多m次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值