shell
文章平均质量分 55
如梦@_@
熬得住无人问津的寂寞,才配拥有诗和远方,其实一直陪着你的,都是那个了不起的自己。
展开
-
shell中awk命令的使用总结
awk是文本文件的处理工具,主要是进行过滤和搜索,对文件文件的内容通过换行符进行分隔,作为一条记录,,然后将每一条记录默认是以空格为分割符来划分为分隔域,第一个域是$1,第二个是$2,依次类推,其中$0表示整个域,然后对分隔后的数据一条一条的处理,这里和sed进行区分,sed是默认以换行符为分隔符。语法:awk ‘{pattern + action}’ {filenames}这里的action可以有多条语句,多条语句之间用;分隔开,后面会介绍。第一种用法:cat /etc/passwd |awk原创 2021-10-18 20:07:46 · 679 阅读 · 0 评论 -
shell中source、sh、bash、./的区别
一、sh和bash的区别sh和bash基本是一样,在我的linux环境查看,它俩是一样的:[root@unis0612p02-165 run]# ls -al `which sh`lrwxrwxrwx 1 root root 4 6月 23 2020 /usr/bin/sh -> bash那么在shell脚本中的第一行如果声明了如下:#!/bin/bash#!/bin/sh上面两行是一样的;二、sh 和./的区别一般我们是这样用的:sh install.sh 或者./in原创 2021-10-16 17:06:07 · 3769 阅读 · 0 评论 -
shell中eval的用法
看到别人写的很好的文章:cnblogs.com/faberbeta/p/linuxshell_eval.html不过好像目前就第一个我用到了, 第二个也是可以用到。eval的作用:个人理解就是能够把一个变量的值的另外一个变量给解析出来,比如:a=bb=(1,2,3)那么变量b就是变量a的值对应的另外一个变量,如果我们在脚本需要把能够拿到变量a的值,那么又想去拿变量b的值,如果不用b,而直接用a去获取b的值,一般理解是:(((a[0]),但是这样会有一个问题,对于shell的话,只会解析第一个,会原创 2021-10-15 20:51:52 · 8423 阅读 · 0 评论 -
shell脚本中数组和字典的学习总结
shell中有数值 字符串 还有数组 字典这几种常用的数据类型。其中数据和字典均可以用for进行迭代的遍历。一、数组定义:直接赋值式的定义:里面可以包含数值和字符串[root@uc197 ~]# arr=(1 2 3 sd) #[root@uc197 ~]# echo ${arr[0]} #打印数组中每个元素1[root@uc197 ~]# echo ${#arr[@]} #打印数组的长度4[root@uc197 ~]# echo ${arr[`expr ${#arr[@]} -原创 2021-10-15 19:56:08 · 1717 阅读 · 0 评论 -
shell中一行一行读取文件中的内容
shell中awk可以处理文本文件,sed也可以处理文本文件,sed在我之前的文章中有写过,它是一行一行的去读,然后对读取的内容可以进行操作。awk也是一行一行的处理,只是进行抽取,而不进行修改。还有一种方法是通过while语句+read进行一行一行的读取数据:read用法:第一种,从命令行中读:[root@uc201 ~]# read lineaaabbb[root@uc201 ~]# echo $lineaaabbb可以看到read是从标准输入中读取数据遇到回车就终止读取,并赋值给li原创 2021-10-15 19:36:30 · 1936 阅读 · 0 评论 -
shell中关于exit的用法(后续更新。。)
早上过来调试脚本,遇到了一个预料之外的结果,脚本中调用三个函数,顺序的,不知道为什么第二个执行完之后,第三个没有执行。经过排查脚本发现,这个函数中有exit 1,怀疑是因为exit 1执行完之后,后面的命令就不会再继续执行了,直接结束,经过验证果然是。#!/bin/bashecho "****test start*****"exit 1echo "****test over*****"运行结果是:****test start*****我把exit去掉之后就可以了在shell中有个状态码原创 2021-10-15 11:06:11 · 1348 阅读 · 0 评论 -
shell中+=的陷阱
这两天因为工作比较忙,没有更新Python相关的学习,但是工作中因为装环境开发给了一个安装依赖包的文档,里面都是重复的后台安装命令,而且环境一来就是三台虚机,1条命令就要重复执行3次,所以想着趁此机会练练shell脚本(之前有写过,有点基础但是这个东西不用就会忘记)今天写脚本遇到的问题:在实现我的需求时,需要用到数据类型字典,我是这样定义的:declare -A dicdic=()dic=dic+([name]=jack)echo ${!dic[@]}echo ${dic[@]}返回结果是原创 2021-10-14 19:58:09 · 1533 阅读 · 0 评论 -
shell脚本中sed的学习总结(持续更新)
借鉴别人的文章,写的特别好:https://blog.csdn.net/l675655077/article/details/88808133下面是我自己的总结:sed是一种文本文件编辑器,可以进行修改,删除等操作,可以不修改原文件,或者指定修改源文件,替代工作中一些重复大量的操作文件方式,解放双手的好方法。sed不能对空文件进行操作,但是空文件的时候,可以用echo进行写。echo -e “我爱我的祖国\n我爱我的家乡\n我爱你,可爱的人~” >> 1.txt上面 >>原创 2021-10-13 20:17:05 · 155 阅读 · 0 评论