Shell
shell学习记录
心无念
小白一个 Fight
展开
-
shell中 -eq-ne-gt-lt-ge-le-字符串判断是否相等-文件夹是否存在-多行注释-awk统计一列数字出现的次数
大小判断-eq //等于-ne //不等于-gt //大于 (greater )-lt //小于 (less)-ge //大于等于-le //小于等于判断字符串是否相等a=member00if [ $a == "member00" ];then # 相等 echo 0else # 不相等 echo 1fi判断文件夹是否存在dirtmp=/testif [[ -d $dirtmp ]];then # 存在 echo 0else # 不存在 ec原创 2020-10-14 14:05:23 · 393 阅读 · 0 评论 -
记录_linux_函数退出_而不退出整个脚本
check_one() {num=`df -h | wc -l `if [ $num -gt 5 ]; then return 1fiecho '1111'}check_two() {num=`df -h | wc -l `if [ $num -gt 5 ]; then return 1fiecho '2222'}check_onecheck_two# return 退出当前函数 而不是整个脚本...原创 2020-08-15 12:42:30 · 1178 阅读 · 0 评论 -
Linux里面shell脚本同时用到ssh和awk
Mmm=$(ssh root@192.168.0.1 "df -h | grep ssl "| awk '{print $1}')在脚本里面使用ssh 和 awk 时将awk放到本地运行 防止出现传入参数的问题导致awk运行有问题原创 2020-08-04 23:22:44 · 346 阅读 · 0 评论 -
14.Shell之awk
awk介绍1.awk是一种编程语言,主要用于Linux/unix下对文本和数据进行处理,是Linux/unix下的一个工具。数据可以来源标准输入,一个或多个文件,或者是其他命令的输出2.awk的处理文本和数据的方式:逐行扫描文件,默认从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作3.awk分别代表作者姓氏 的第一个字母4.gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展5.Linux用到的就是gwakawk能干啥1.awk用来处理文件和数据的,原创 2020-06-12 13:36:03 · 295 阅读 · 0 评论 -
13.Shell之sed
145原创 2020-06-09 20:35:09 · 154 阅读 · 0 评论 -
12.Shell之正则表达式+总结+案例
134原创 2020-06-06 17:24:40 · 319 阅读 · 0 评论 -
11.Shell之CASE语句+函数
需求5:统计web服务的不同连接状态的个数1.找出查看网站连接状态的命令ss -natp |grep :80 |cut -d ' ' -f12.如何统计出不同的状态 循环去统计#!/bin/bashdeclare -A array1state=`ss -ant|grep 80|cut -d' ' -f1`for i in $states do let arry1[$i]++ done#统计 #通过遍历数组里的索引和元素打印出来for j in ${!arry1[@]} d.原创 2020-06-05 18:46:29 · 343 阅读 · 0 评论 -
10.Shell之数组,获取目录或文件,变量内容删除或替换
数组分类普通数组:只能使用整数作为数组索引(元素的下标)关联数组:可以使用字符串作为数组索引(元素的下标)普通数组#一次赋予一个值数组名[索引下标]=值array[0]=1array[1]=2array[2]=3array[0]=zssarray[1]=mingarray[2]=shy#一次赋予多个值数组名=(元素1 元素2 元素3 ...)names=(harry zss shy tom)arr1=(`cat /etc/passwd`)#一行就是一个元素arr2=原创 2020-05-31 15:07:27 · 539 阅读 · 0 评论 -
9.Shell之随机数,嵌套循环,阶段总结,expect
一切都是未知数系统变量:RABDOM,默认产生0-32767的随机整数打印一个随机数echo $RANDOM产生0-1之间的随机数echo $[RANDOM%2]产生0-2之间的随机数echo $[RANDOM%3]产生0-10之间的随机数echo $[RANDOM%11]产生1-50之间的随机数0-49echo $[RANDOM%50+1]产生50-100之间的随机数0-50echo $[RANDOM%51+50]产生10-99之间的随机数0-89echo $[RAND原创 2020-05-31 13:55:18 · 822 阅读 · 0 评论 -
8.Shell之while循环语句和until循环语句
while循环语句特点:条件为真进入循环,为假退出循环while 表达式 do command... donewhile [ 1 -eq 1 ] 或者 (( 1 > 2 )) do command... donei=1while (( $i <= 10)) do echo $i let i+=2 done 脚本计算1-50的偶数和#!/bin/bashsum=0i=2while [ $i -le 50 ] do let sum=$s原创 2020-05-28 14:10:26 · 292 阅读 · 0 评论 -
7.Shell之for循环语句
for循环语句将一组命令执行已知的次数列表循环用于将一组命令执行已知的次数for i in {1..10} do command done for i in a b c do command done for i in {0..50..2}###0 2 4 6 8 以2为步长for i in $(seq 10)###也是1到10for i in {10..1}###从10到1for i in $(seq 1 2 10)###1-10 步长为2##原创 2020-05-28 13:04:49 · 321 阅读 · 0 评论 -
0.linux小工具grep,cut,sort,uniq,tee,diff,paste,tr,通配符,引号
grepgrep --color=auto 'ec' zss#查找关键字 并以颜色凸显-n 关键字行号-i 忽略大小写^ 以什么开头$ 以什么结尾-v 取反-B 3 前三行-A 3 后三行-C 3 前后三行-w 以单词搜索-o 打印关键字cut 列截取工具cut -d: -f1,7 passwd以:为分隔符 显示第一列和第七列cut -c 1-5 passwd截取1到5cut -c 7- passwd截取7到结束cat zss | tail -1查看最后一原创 2020-05-21 15:21:19 · 258 阅读 · 0 评论 -
1.Shell之简单了解
1.shell的基本语法结构变量定义 条件判断 循环语句for until while 分支语句 函数 数组等2.基本正则表达式运用3.文件处理三剑客 grep sed awk 工具的使用4.用shell脚本完成一些复杂的任务 如:服务搭建 批量处理等上面的还都是基本要求 我惊了 还有更深更难的语法shell变量的定义和获取shell简单的四则运算编译型语言 C C++ 执行效率高 跨平台性差解释型语言 python shell 效率低一点shell就是人机交互的桥梁顺序执行若干命原创 2020-05-21 15:45:01 · 131 阅读 · 0 评论 -
2.Shell之变量的定义加总结
变量是用来临时保存数据的数据是可以变化的数据多次使用 就可以用变量来顶替需要命令的执行结果 用变量保存起来变量名=变量值A=hellounset A1.变量名区分大小写2.变量名不能有特殊符号 空格要用""引起来3.变量名不能以数字开头4.=两边不能有空格 py可以5.变量名尽量见名知义常见的定义变量a=12345echo ${a:2:3}345变量来自于命令执行结果变量=命令结果`` $()交互式变量定义用户自己定义read -p 'Input your n原创 2020-05-21 16:08:43 · 232 阅读 · 0 评论 -
3.Shell之变量的分类
shell变量的分类本地变量当前用户自定义的变量。当前进程有效,其他进程无效且当前进程子进程无效环境变量当前进程有效,并且能被子进程调用env 查看当前用户的环境变量set 查询当前用户的所有变量(临时变量与环境变量)export 变量名=变量值 或者 变量名=变量值;export 变量名全局变量全局所有的用户和程序都能调用,且继承,新建的用户也默认调用~/.bashrc 当前用户的bash信息,用户登陆时读取 用于定义别名 umask 函数等~/.bash_profile 当前用户原创 2020-05-23 16:23:41 · 155 阅读 · 0 评论 -
4.Shell之简单的四则运算
简单的四则运算算术运算:默认情况下,shell只能支持简单的整数运算运算内容:加+减-乘*除/求余%次方**四则运算符号$(()) echo $((1+1))$[] echo $[10-5]expr expr 10 / 5 #必须加空格let n=1;let n+=1 等价于 let n = n + 1expr 10 \* 5 #*要用\转义计算小数不支持目前 要借助程序bcecho 1+1.5|bci++ 和 ++ii++ 先赋值再运算++i 先运算再赋值i=1;j原创 2020-05-23 18:06:26 · 366 阅读 · 0 评论 -
5.Shell之条件判断
条件判断语法结构true 真 false 假格式1 test 条件表达式格式2 [条件表达式]格式3 [[条件表达式]] 支持正则[] [[]] 两边都要有空格判断什么判断文件类型判断文件新旧判断字符串是否相等判断是否为空判断文件类型-e 判断文件是否存在(任何类型文件)-f 判断文件是否存在并且是一个普通文件-d 判断文件是否存在并且是一个目录-L 判断文件是否存在并且是一个软链接文件-b 判断文件是否存在并且是一个块设备文件-S 判断文件是否存在并且是原创 2020-05-27 12:09:47 · 169 阅读 · 0 评论 -
6.Shell之流程控制语句加案例加总结
基本语法结构if结构if [ 判断条件 ];then 条件为真 执行语句 commandfi[ 判断条件 ] && commandif…else结构if [ 判断条件 ];then 条件为真 执行语句 command else 条件为假 执行语句 command2fi[ 判断条件 ] && command || command2if…elif…else结构if [ 判断条件1 ];then 条件为真 执行语句 command1原创 2020-05-27 13:16:16 · 230 阅读 · 2 评论