如何写SHELL脚本?尝试自己编写一个简单脚本

计算机视觉三大顶会(ICCV/CVPR/ECCV)投稿指南与趋势解析 本文详细解析计算机视觉三大顶会(ICCV/CVPR/ECCV)的投稿指南与最新趋势。从基础认知到实战经验,涵盖时间线管理、选题策略、论文写作技巧及实验设计要点,帮助研究者提升投稿成功率。特别关注2024年技术融合、评估维度和伦理要求等前沿趋势,为计算机视觉领域的研究者提供实用建议。 阅读详情

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【如何写SHELL脚本?尝试自己编写一个简单脚本 】
在这里插入图片描述

大家好,我是IT修真院上海分院第02期学员,一枚正直善良的java程序员。

今天给分享一下修真院java任务三中关于脚本的相关知识。

背景

现在多数的服务器都是Linux系统的,需要通过shell来进行操作,而利用shell脚本,可以大大提高开发维护的效率。

知识剖析

什么是shell

shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便于运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至是编写一些程序。

shell还是一个功能强大的编程语言,易编写,易调试。shell是解释执行的脚本语言,在shell中可以直接调用Linux命令。

shell的两种主要语法有bourne和C,这两种语法彼此不兼容。bourne家族主要包括sh,ksh,Bash, psh,zsh,C家族主要用在unix,包括csh,tsh. 查看当前shell的类型的方法是:echo $SHELL

概念辨析,shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

shell脚本(shell script),是一种为shell编写的脚本程序,业界所说的shell通常都是指shell脚本。

shell有两种执行方式

交互式:解释执行用户的命令,用户输入一条命令,shell就执行一条。

批处理:用户事先写一个shell脚本,其中有很多命令,让shell一次把这些命令执行完,而不必一条一条地敲命令。

编码

首先,创建shell脚本文件:vim xxxx.sh ,后缀为.sh

脚本执行有两种方式:1.赋予执行权限,chmod 755 xxxx.sh 2. 通过Bash调用执行脚本bash hello.sh

特殊符号

$ 调用变量的值

反引号,引用系统命令

$( ) 引用系统命令

’ ’ 单引号,在其中的特殊符号没有特殊含义。

" " 双引号,在其中的特殊符号没有特殊含义,但有三个除外:$ , `` , \

管道符

命令1 | 命令2 命令1的正确输出作为命令2的操作对象。

输入输出重定向

命令 > 文件 ,以覆盖的方式,把命令输出到指定的文件中

命令 >> 文件 ,以追加的方式,把命令输出到指定的文件中。

输出重定向

命令 < 文件

命令 < 标识符

以下是在任务三中统计ngiinx响应时间的脚本:

#!/bin/bash

#nginx logs

H=100

cd /usr/local/nginx/logs/

tail -n $H access.log|awk ‘{print $25,$26,$7 }’

echo “统计了 $H 条数据”

echo “响应时间0.01秒以内”

tail -n $H access.log|awk ‘BEGIN{sum=0}{if($26<0.01)sum++;}END{print sum}’

echo “响应时间0.01~0.02秒”

tail -n $H access.log|awk ‘BEGIN{sum=0}{if(($26>=0.01)&&($26<0.02))sum++;}END{print sum}’

echo “响应时间0.02~0.03秒”

tail -n $H access.log|awk ‘BEGIN{sum=0}{if(($26>=0.02)&&($26<0.03))sum++;}END{print sum}’

echo “响应时间0.03~0.04”

tail -n $H access.log|awk ‘BEGIN{sum=0}{if(($26>=0.03)&&($26<0.04))sum++;}END{print sum}’

echo “响应时间0.04及以上”

tail -n $H access.log|awk ‘BEGIN{sum=0}{if($26>=0.04)sum++;}END{print sum}’

echo “访问量”

tail -n $H access.log|awk ‘{print $7}’ | wc -l

tail -n $H access.log|awk ‘{print $11}’ |sort | uniq -c |wc -l

echo “#######统计完成######”

BGP路由聚合:自动聚合和手动聚合 路由聚合是指将多条具体的路由合并为一条聚合路由,以减少路由表的条目数。这种技术通过只向对等体发送聚合后的路由,而不发送所有的具体路由,来减小路由表的规模。同时,被聚合的路由如果发生路由振荡,也不再对网络造成影响,从而提高了网络的稳定性。 阅读详情

相关推荐

从ENVI SARscape到SNAP:手把手教你迁移哨兵1 GRD数据预处理流程(含避坑指南)

本文详细介绍了从ENVI SARscape迁移到SNAP处理哨兵1 GRD数据的全流程,包括工具哲学差异、数据准备注意事项、核心处理流程等效实现及地形校正技巧。特别针对雷达数据预处理中的常见陷阱提供避坑指南,帮助用户高效完成工具迁移并确保结果质量。

weixin_28677005的博客 485

shell 脚本入门

一、什么是shell 脚本: 如果此时需要在终端中输入一系列命令完成一些操作,但是我们一条一条输入命令,这样就会很麻烦。那么有没有一种方式可以将很多条命令放到一个文件里面,然后直接运行这个文件即可?有!就是 shell 脚本! shell 脚本类似 windows 的批处理文件,shell 脚本就是将连续执行的命令写成一个文件。 shell 脚本提供数组、循环、条件判断等功能。shell 脚本一般是 Linux 运维或者系统管理员需要掌握的。 二、shell 脚本写法: shell 脚本是个纯文本文件,命令

莘莘的博客 1万+

STM32F103串口接收中断:USART_IT_IDLE和USART_IT_RXNE区别

2:如果是大于1个byte的数据,在不用DMA的情况下,同时使能USART_IT_RXNE,USART_IT_IDLE中断,每收到一个字节在中断中把数据存到缓存中,待收到USART_IT_IDLE中断时,收完整帧数据,然后再解析处理数据。比如:如上图在初始化时,同时开启了两个中断,如果传送8个字节的数据,就会产生8个USART_IT_RXNE,和1个USART_IT_IDLE中断。(如果接收到数据,在1个byte的时间内,没有收到新数据,就认为是数据传送完成,产生空闲USART_IT_IDLE中断)

weixin_66299220的博客 2398

Shell脚本编程(详解)

Shell是一种命令行解释器,也是操作系统与用户之间的接口。它允许用户通过键入文本命令来与操作系统交互,执行各种任务,包括文件操作、进程管理、系统配置等。Shell还可以用于编写脚本,自动化执行一系列命令,从而简化重复性的任务。

weixin_52270066的博客 1万+

OpenClaw记忆插件升级实战:从memory-lancedb-pro安装到AgentSkill封装

向量数据库作为现代AI应用的核心基础设施,通过将非结构化数据转换为高维向量并利用相似度检索实现语义理解。其原理基于嵌入模型生成向量表示,结合近似最近邻搜索算法实现高效查询。这项技术为智能体系统提供了长期记忆和上下文感知能力,显著提升了对话连贯性与任务执行效率。在AI智能体开发领域,向量数据库常用于知识库构建、对话历史管理和个性化推荐等场景。本文聚焦OpenClaw框架中memory-lancedb-pro插件的部署实践,针对**插件加载顺序**和**Apache Arrow依赖**两大常见痛点,通过封装成可

weixin_42525482的博客 637

光猫改桥接后,一根网线搞定IPTV和上网的保姆级教程(附VLAN配置避坑点)

本文详细介绍了光猫改桥接后如何通过单线复用技术实现IPTV和上网功能共存。从VLAN配置原理到具体操作步骤,包括光猫超级管理员权限获取、VLAN绑定设置及路由器IPTV功能配置,提供了全面的保姆级教程。特别针对常见问题如IPTV信号丢失、网速下降等给出了实用解决方案,帮助用户轻松避坑。

weixin_29927965的博客 1733

如何写一个Shell脚本及其简单语法讲解

Linux中.sh文件是脚本文件,一般都是bash脚本。文件后缀名为.sh,其中包含一系列要由操作系统的命令解释器执行的命令。在 Unix 和类 Unix 操作系统中,通常使用 Bourne Shell(sh)或其衍生的 Shell(如 Bash、Zsh)来执行这些脚本,本文叙述的都是Bash Shell脚本。

weixin_52465385的博客 4939

gsplat在windows本地部署

3DGS的cuda提效和优化内存的版本gsplat,使得在有一定GPU计算能力的电脑上也能够尝尝3DGS的效果。我在2025年的开年之初尝试配置过gsplat,由于过程中遇到很多问题,最终还是有一些windows上字符编码的问题,没有跑通,最近看gsplat的github更新了3DGUT,优化了反射和二次折射,以及适用于非线性相机模型,如鱼眼相机等。在data目录下下载好了360_v2的数据,进入之后images文件夹是原始分辨率的图像,images_2是下采样系数为2的数据,以此类推。

yuleaf_csdn的博客 2367

写一个shell脚本的基本步骤

一、新建一个文件 test.sh #使用vi创建一个文本文件test.sh,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,只是用来提示自己这是一个shell脚本 vi test.sh #!/bin/bash echo "Hello World !" #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell 二、把文件权限修改为可执行文件 chmod +x ./test.sh 三、执行脚本 ./test.sh 四、如果想要在任何路径下运行该shell脚本

Albdon的博客 1万+

PCIe ATS介绍

主机侧使用IOMMU完成设备地址到物理memory地址的转换,以及设备访问权限的检查。但如果所有PCIe设备都在进行DMA操作,则TA(Translation Agent)和ATPT(Address Translation and Protection Table)则会成为瓶颈,从而影响系统的latency。

maxwell2ic的博客 6020

内存越界一定会导致程序崩溃吗?详解内存越界

本文详细解释了内存越界不一定导致内存越界的问题,全面介绍了C++内存越界的相关内容。

dvlinker的技术专栏 2万+

Shell脚本

做 Java 的肯定都接触过 Linux 系统,那么很多时候我们在开发的过程中都是把我们项目打成一个jar包,或者是war包的形式,然后通过 XFTP 上传到我们服务器的指定目录,然后运行一端启动脚本,让我们得项目变得可以访问 就像 ./sh service.sh start 然后启动我们写好的 sh 的shell脚本。接下来我们就来学习一下关于 Shell 脚本是如何写出来的。 Shell 脚本 Shell 脚本是什么?Shell是一个命令解释器,它的作用是解释执行用户输入的命令及程序等,也就是说,我们用

懿的博客 1129

【技能】OpenClaw Skills学习及手搓一个极简skill

本文介绍了OpenClaw Skills的基础概念与使用方法。Skills是OpenClaw代理使用工具的核心载体,通过SKILL.md文件定义技能属性和执行方式。技能加载遵循"工作区>本地>内置>自定义目录"的优先级规则。用户可通过ClawHub一键安装现成技能,也可自定义开发技能:创建技能目录,编写包含YAML元数据和执行指令的SKILL.md文件,放置于工作区skills目录进行测试。文章还介绍了多代理场景下的技能共享、插件集成以及安全注意事项,包括沙箱使用和敏感

海兰 3974

linux 写自己的shell,如何写SHELL脚本?尝试自己编写一个简单脚本

大家好,我是IT修真院上海分院第02期学员,一枚正直善良的java程序员。今天给分享一下修真院java任务三中关于脚本的相关知识。背景现在多数的服务器都是Linux系统的,需要通过shell来进行操作,而利用shell脚本,可以大大提高开发维护的效率。知识剖析什么是shellshell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便于运行程序的界面系统级程序,用户可以用shell...

weixin_35659543的博客 303

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

如何写shell脚本?尝试自己编写一个简单脚本

大家好, 今天给大家分享一下可能会使用到的知识点: 如何写shell脚本?尝试自己编写一个简单脚本 1.背景介绍 Shell是什么? Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。 Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许...

qq_19396391的博客 9476

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

如何写shell脚本?尝试自己编写一个简单脚本。

大家好,我是IT修真院深圳分院第十三期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务二里面的知识点: 如何写shell脚本?尝试自己编写一个简单脚本。 1 背景介绍 每次发布tomcat项目的时候都要反复敲一些命令,重启tomcat之前先检查tomcat进程有没有停掉,没有还要手动kill该进程,单独部署一个项目还好,如果一次多个部署,就比较费劲了 2.知识...

weixin_42955916的博客 6011

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

redchat怎么编写shell脚本_如何写shell脚本?尝试自己编写一个简单脚本

1. 创建Shell脚本文件2. 显示消息3. 使用变量4. 反引号5. 重定向输入输出6. 管道7. 执行数学运算8. 退出脚本1. 创建脚本文件的时候,必须将文件的第一行指定要使用的shell。其格式为:#!/bin/bash运行脚本文件时要制定文件位置,还要赋予文件运行的权限:chmod u+x file运行:./file2. 显示消息:echo命令,比如:#!/bin/bashecho "...

weixin_39640909的博客 121

【修真院java小课堂】如何写shell脚本?尝试自己编写一个简单脚本。

先介绍下背景Shell是什么?Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口,是用户使用Linux的桥梁。它是命令语言、命令解释程序及程序设计语言的统称。 shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。Shell既是一种命令语言...

qq_40747710的博客 401

写一个简单的shell脚本

        目前大家都知道,电脑系统不止是有windows,还有macOS,Linux的各种衍生版本,unix等操作系统。出去windows外的这些操作系统都可以编写shell脚本。写脚本可以帮助我们实现自动化运维,还有一些我们常用的小工具来使我们的操作变得更加快捷。         下面我们来学习怎么写这个简单的shell的脚本: 首先是我们编程第一课。hello world     ...

qq_40040209的博客 1818

shell脚本学习笔记--一个简单的脚本

一个简单的脚本 利用wc(字数计算)程序,它可以算出行数(line)、字数(word)与字符数(character)。在此例中,我们用的是wc -l,也就是只算出行数: $ who | wc -l       计算用户个数       6 (管道)符号可以在两程序之间建立管道(pipeline):who的输出,成了wc的输入,wc所列出的结果就是已登录用户的个数。 下一步则是将此管道转变

swming12的专栏 319

linux循环运算,shell case循环写个计算器

刚学习shell的时候,写了一个娱乐的;想起来写在这里,希望大家不要jianxiao!#!/bin/bashecho "先选择运算的种类 加减乘除,然后分别输入运费的数字就可以得到结果,输入时间为30秒"read -p "Please enter the type of operation + or - or * or / :" -t 30 fcase "$f" in"+")read -p "Pl...

weixin_39842519的博客 426

Shell脚本编写

Shell

LF991的博客 7870

Linux学习之路—编写简单的Shell命令脚本

Linux学习之路—编写简单的Shell命令脚本 可以将Shell 终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与Linux 系 统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环、分支等高级编程 语言才有的控制结构特性。 分为两种: 交互式(Interactive):用户每输入一条命令就立即执行。 批处理(Batch):由用户事先编写好一个完整的Shell 脚本,Shell 会一次性执行脚本 中诸多的命令。 查看SHELL变量可看到系统默认使用Bash作为命令执行的解释器了 编

yzl_007的博客 1839

编写第一个 Shell 脚本:从入门到实践

Shell 脚本是由一系列命令组成的文本文件,这些命令可以在 Unix/Linux Shell 中执行。Shell 是用户与操作系统之间的桥梁,负责解释用户命令并执行。编写 Shell 脚本是迈向自动化和高效工作的重要步骤。通过学习和掌握 Shell 编程,您可以更好地管理系统任务,提高工作效率。

科技改变人类,技术成就未来 1023

21编写简单的Shell脚本

通过今天的课程,你学习了如何编写简单的Shell脚本来自动化一些基本任务。掌握了这些基本技能后,你可以尝试编写更多的脚本来解决实际问题。Shell脚本是非常有用的工具,能够帮助你提高工作效率,减轻重复性劳动。如果你有任何问题或需要进一步的帮助,请随时留言。我们下节课将继续带你深入了解Linux的更多知识。再见!这篇文章旨在帮助读者了解如何编写简单的Shell脚本,并通过具体的示例演示这些脚本的编写和运行过程。通过学习这些基础知识,即使是非IT专业的读者也能轻松上手,并为进一步的实战和工作打下坚实的基础。

大风吹PP凉 778
上一篇: 为什么推荐使用JsonTaglib来处理Json
下一篇: 什么是Nginx?
learning__java
博客等级 码龄8年 87粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值