![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
linux&shell
linux&shell学习小笔记
请不要卷我
来点桂林西瓜霜?
展开
-
shell脚本中变量替换
shell脚本中变量替换如果变量字符前面使用感叹号,可以实现对变量的间接引用,而不是返回变量本身的值,但只能实现一层间接引用[root@mao_aliyunserver ~]# god=mao[root@mao_aliyunserver ~]# people=god[root@mao_aliyunserver ~]# echo ${people}god[root@mao_aliyunserver ~]# echo ${!people}mao变量替换可以测试变量是否存在及是否为空,并原创 2022-02-18 23:58:07 · 1734 阅读 · 0 评论 -
shell脚本中的花括号扩展
shell脚本中的花括号扩展在shell脚本中可以在花括号中使用一组以逗号分隔的字符串或者字符串序列来进行字符串扩展,最终输出的结果为以空格分隔的字符串(整数也可)[root@mao_aliyunserver bin]# echo {1..10}1 2 3 4 5 6 7 8 9 10[root@mao_aliyunserver bin]# echo {a..z}a b c d e f g h i j k l m n o p q r s t u v w x y z使用花括号扩展时花括号原创 2022-02-17 12:55:18 · 798 阅读 · 0 评论 -
shell脚本中命名管道
shell脚本中命名管道管道是进程间通信的一种方式,使用|符号就是创建了一个匿名管道,但匿名管道只能实现父进程与子进程之间的通信。要实现任意两个进程之间的通信,需要使用命名管道,命名管道也叫FIFO文件命名管道特征FIFO文件创建后在文件系统中可以直接看到写入FIFO文件中的数据一旦被读取后,就不可以重复读取进程往FIFO文件中写数据时,如果没有其他进程读取数据,则写数据的进程会被阻塞,直到有其他进程读取数据进程从FIFO文件中读数据时,如果FIFO文件中没有数据,则读数据的进程会被阻塞,直到原创 2022-02-14 23:10:26 · 1249 阅读 · 0 评论 -
shell脚本中文件描述符
shell脚本中文件描述符文件描述符特征文件描述符是一个非负整数,内核需要通过这个文件描述符才可以访问文件当在系统中打开已有的文件或者新建文件时,内核每次都会给特定的进程返回一个文件描述符,进程需要对文件进行读或写操作时,都要依赖这个文件描述符文件描述符就像一个索引,指向系统中对应的文件内核默认为每个进程创建3个标准的文件描述符,分别为0标准输入、1标准输出、2标准错误文件描述符中还包含有很多文件相关的信息,如权限、文件偏移量等。使用文件描述符读写文件要注意文件偏移量指针的变化情况查看文件原创 2022-02-11 19:48:10 · 1087 阅读 · 0 评论 -
shell脚本中[[ ]]和[ ]的区别
shell脚本中[[ ]]和[ ]的区别及注意事项[[ ]]和[ ]的区别一. test和[]是符合posix标准的测试语句,兼容性相对更强,几乎可以运行在所有的shell解释器中二. [ ]同时支持多个条件的逻辑测试,但在[ ]需要使用-a或-o,在[[ ]]中可以直接使用&&和||。且&&和||短路,-a和-o不短路[ ]中使用-a或-o[root@mao_aliyunserver bin]# cat test.sh #!/bin/basha=$1b原创 2022-02-10 21:44:14 · 1626 阅读 · 1 评论 -
对字符串变量取值的处理一
shell中对字符串变量取值的处理一定义字符串变量table_name='maomao_table_temp_20220106'获取变量字符串长度# ${#变量名}echo ${#table_name} # 结果: 26字符串变量的位数截取# 从左边开始截取 ${变量名:起始位置:截取位数};字符串就相当于字符数组,从0开始计算位数echo ${table_name:7:5} # 结果: table# 可以将截取位数省略,就相当于截取从起始位置开始直到末尾的字符echo ${tab原创 2022-01-06 23:56:41 · 509 阅读 · 0 评论