Linux(18)——提高命令行运行效率

目录

一、创建和执行 shell 脚本:

1、命令解释器:

2、执行 Bash Shell 脚本:

3、从 shell 脚本提供输出:

二、对特殊字符加引号:

1、反斜杠 (\):

2、单引号 ( ' ' ):

3、双引号 ( " " ):

三、循环结构:

1、for 循环:

2、Bash 脚本退出代码:

3、语法测试:

四、条件结构:

1、if/then :

2、if/then/else:

3、if/then/elif/then/else:


一、创建和执行 shell 脚本:

        借助 Bash shell 环境和脚本功能,可将 Linux 命令与 shell 脚本组合在一 起,从而轻松地解决重复而困难的实际问题,以提高处理日常任务的效率和准确性。

注:高级编辑器(如 vim 或 emacs)理解 Bash shell 语法并提供了高亮显示, 有助于识别常见错误。

1、命令解释器:

        脚本的第一行以符号 ' #! ' 开头,通常称为 she-bang 或 hash-bang。此符号是一个解释器指令,指示处理文件其余行所需的命令解释器和选项,如下图绿色方块处。

2、执行 Bash Shell 脚本:

        将脚本放在 shell 的 PATH 环境变量列出的目录中,即可直接通过输入脚本名来运行脚本。

3、从 shell 脚本提供输出:

        通过将文本作为参数传递给命令,echo 命令可显示任意文本。默认情况下,文本将在标准输出 ( STDOUT ) 上显示。

二、对特殊字符加引号:

        一些字符和词语对 Bash shell 具有特殊含义。有时我们希望使用这些字符的字面值,而非其特殊含义。

1、反斜杠 (\):

        反斜杠字符( \ )可去除紧跟在反斜杠后面单个字符的特殊含义。

2、单引号 ( ' ' ):

        单引号( ' ' )保留其括起的所有字符的字面含义。

3、双引号 ( " " ):

        双引号( " " )可用阻止globbong(文件名模式匹配)和 shell 扩展,但允许命令和变量替换

三、循环结构:

        系统管理员在日常活动中经常会遇到重复任务。

1、for 循环:

        for 循环是 Bash 提供的循环结构,结构如下。

for  VARIABLE  in  LIST;  do

COMMAND  VARIABLE

done

2、Bash 脚本退出代码:

        在处理完所有内容后,脚本会退出到调用它的进程。但是,有时可能需要在完成之前退出脚本,如,遇到错误条件。此时可在脚本中使用 exit 命令来实现这一目的。

        可使用整数参数(0 到 255 之间,表示退出代码)来执行 exit 命令。退出代码是进程完成后返回的代码,0 表示没有错误非零值均表示存在错误

3、语法测试:

(1)test 命令

        可通过 test 命令对脚本进行语法测试,以验证脚本的完整性。

(2)Bash 测试命令

        1)数字比较器:

注:gt 大于;ge 大于等于;lt 小于;le 小于等于;eq 等于。

        2)字符串比较:

注:= 或 == 表示相同;!= 表示不同。

        3)此外:

        还可判断字符串长度(z 为零;n 非零)、测试文件是否存在(-f 表示常规文件;-d 表示目录)等等。

四、条件结构:

1、if/then

        Bash 中最简单的条件结构是 if/then 结构,其语法如下。

if  <CONDITION>;  then

           <STATEMENT>

           ……

           <STATEMENT>

fi  

2、if/then/else

if/then 结构进一步扩展,以便能根据是否满足条件来采取不同的操作集合,结构如下。   

if  <CONDITION>;  then

           <STATEMENT>

           ……

           <STATEMENT>

else   

           <STATEMENT>

           ……

           <STATEMENT>

fi  

3、if/then/elif/then/else

        if/then/else 结构可以进一步扩展以测试多个条件,在满足某个条件时执行不同的操作集合,结构如下。

if  <CONDITION>;  then

           <STATEMENT>

           ……

           <STATEMENT>

elif  <CONDITION>;  then

           <STATEMENT>

           ……

           <STATEMENT>

else   

           <STATEMENT>

           ……

           <STATEMENT>

fi  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/951998.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件系统安全逆向分析-混淆对抗

1. 概述 在一般的软件中&#xff0c;我们逆向分析时候通常都不能直接看到软件的明文源代码&#xff0c;或多或少存在着混淆对抗的操作。下面&#xff0c;我会实践操作一个例子从无从下手到攻破目标。 花指令对抗虚函数表RC4 2. 实战-donntyousee 题目载体为具有漏洞的小型软…

计算机网络 (33)传输控制协议TCP概述

一、定义与基本概念 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它工作在OSI模型的第四层&#xff0c;即传输层&#xff0c;为用户提供可靠的、有序的和无差错的数据传输服务。TCP协议与UDP协议是传输层的两大主要协议&#xff0c;但两者在设计上有明显的不同&…

【从0带做】基于Springboot3+Vue3的高校食堂点餐系统

大家好&#xff0c;我是武哥&#xff0c;最近给大家手撸了一个基于SpringBoot3Vue3的高校食堂点餐系统&#xff0c;可用于毕业设计、课程设计、练手学习&#xff0c;系统全部原创&#xff0c;如有遇到网上抄袭站长的&#xff0c;欢迎联系博主~ 详细介绍 https://www.javaxm.c…

一文说清dockerfile编写

docker用的时间比较久了&#xff0c;关于怎样把jar打成镜像&#xff0c;怎样基于已有mysql镜像添加额外初始化后封装成新的镜像&#xff0c;进行简单的说明。 1.jar封装镜像 from centos # 设置本地为中文&#xff0c;解决中文乱码问题 RUN localedef -i zh_CN -f UTF-8 zh_CN…

基于Python实现的通用小规模搜索引擎

基于Python实现的通用小规模搜索引擎 1.项目简介 1.1背景 《信息内容安全》网络信息内容获取技术课程项目设计 一个至少能支持10个以上网站的爬虫程序&#xff0c;且支持增量式数据采集;并至少采集10000个实际网页;针对采集回来的网页内容&#xff0c; 能够实现网页文本的分…

ssm旅游攻略网站设计+jsp

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 需要源码或者定制看文章最下面或看我的主页 目 录 目 录 III 1 绪论 1 1.1 研究背景 1 1.2 目的和意义 1 1.3 论文结构安排 2 2 相关技术 3 2.1 SSM框架介绍 3 2.2 B/S结构介绍 3 …

算法提高 图形输出

时间限制&#xff1a;C/C 1000MS&#xff0c;其他语言 2000MS 内存限制&#xff1a;C/C 512MB&#xff0c;其他语言 1024MB 难度&#xff1a;困难 分数&#xff1a;100 OI排行榜得分&#xff1a;14(0.1*分数2*难度) 描述 编写一程序&#xff0c;在屏幕上输出如下内容&#xff1…

[程序设计]—代理模式

[程序设计]—代理模式&#x1f473; 本文章记录学习于——52.面向切面&#xff1a;AOP-场景模拟_哔哩哔哩_bilibili 最近闲来无事&#xff0c;在学习Spring的源码&#xff1a; 后面慢慢更新源码系列blog&#xff0c;希望多多关注&#x1f64f;&#x1f64f; 目前已经总结的b…

ue5玩家角色添加武器。切换武器位置,手上武器放到背上。演示一下人体插槽和武器的连接。仅仅演示,实际项目不是这么用的

把第一人称资源包导进来 这就是我们枪的骨骼网格体 我们找到这个骨骼 右手添加插槽 取个名字 因为武器上也有动画&#xff0c;所有武器单独写个蓝图类 新建一个蓝图类 BP_Weapon 把枪的蓝图拖到人的静态网格体下&#xff0c;成为一个部分 选中BP_Weapon的父类套接字…

如何选择适合的证件照制作软件,让您的照片制作更轻松

在当今数字化的时代&#xff0c;制作证件照不再需要专门前往照相馆。选择一款合适的证件照制作软件&#xff0c;您可以在家中轻松完成标准证件照的拍摄与制作。然而&#xff0c;面对市面上琳琅满目的软件&#xff0c;找到最适合您需求的软件并不简单。本文将为您详细介绍选择证…

数据挖掘实训:天气数据分析与机器学习模型构建

随着气候变化对各行各业的影响日益加剧&#xff0c;精准的天气预测已经变得尤为重要。降雨预测在日常生活中尤其关键&#xff0c;例如农业、交通和灾害预警等领域。本文将通过机器学习方法&#xff0c;利用历史天气数据预测明天是否会下雨&#xff0c;具体内容包括数据预处理、…

车载音频开发(二):对音频数据作音量调节

通过前一个章节打下的基础车载音频开发&#xff08;一&#xff09;&#xff1a;从看懂wav开始https://blog.csdn.net/Hellomino_/article/details/140873133?fromshareblogdetail&sharetypeblogdetail&sharerId140873133&sharereferPC&sharesourceHellomino_&…

Apache XMLBeans 一个强大的 XML 数据处理框架

Apache XMLBeans 是一个用于处理 XML 数据的 Java 框架&#xff0c;它提供了一种方式将 XML Schema (XSD) 映射到 Java 类&#xff0c;从而使得开发者可以通过强类型化的 Java 对象来访问和操作 XML 文档。下面将以一个简单的案例说明如何使用 Apache XMLBeans 来解析、生成和验…

74 mysql having 的实现

前言 这里 我们主要是 看一下 having 的相关实现 having 经常是配合 group by 这边进行使用, 进行一个基于 group by 之后的结果的一个, 条件限定 我们这里 以最简单的 group by having 来进行调试, 他会分为 两个阶段, 一个阶段是 group by 之后的结果输出到临时表, 另外…

PyCharm+RobotFramework框架实现UDS自动化测试——(一)python-can 库的安装与环境配置

从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者&#xff0c;时光不负有心人。 文章目录 1. 概述2.安装 python-can 库—基于pycharm在对应的工程下3. 在任意盘中安装环境4. 导入 can 模块语法5. 配置 CAN 接口6.CANoe设备连接语法 1. 概述 本专栏主…

Java Spring Boot实现基于URL + IP访问频率限制

点击下载《Java Spring Boot实现基于URL IP访问频率限制(源代码)》 1. 引言 在现代 Web 应用中&#xff0c;接口被恶意刷新或暴力请求是一种常见的攻击手段。为了保护系统资源&#xff0c;防止服务器过载或服务不可用&#xff0c;需要对接口的访问频率进行限制。本文将介绍如…

从CentOS到龙蜥:企业级Linux迁移实践记录(系统安装)

引言&#xff1a; 随着CentOS项目宣布停止维护CentOS 8并转向CentOS Stream&#xff0c;许多企业和组织面临着寻找可靠替代方案的挑战。在这个背景下&#xff0c;龙蜥操作系统&#xff08;OpenAnolis&#xff09;作为一个稳定、高性能且完全兼容的企业级Linux发行版&#xff0…

现代企业架构白皮书(可以在线阅读完整PDF文件)

数据架构元模型综述 数据架构的内容元模型包括“结构”、“端口”两个部分&#xff0c;如下图所示&#xff1a; 结构部分用来对数据模型、数据处理建模&#xff0c;其中包括数据对象、数据组件 端口部分用来对数据模型的边界建模&#xff0c;其中包括数据服务 数据架构元模型…

【面试题】技术场景 7、定位系统瓶颈

系统瓶颈定位方法总述 面试官询问如何快速定位系统瓶颈&#xff0c;旨在考察线上调试经验。主要方法包括&#xff1a; 压测&#xff1a;在项目上线前找出系统瓶颈并修复。监控工具或链路追踪工具&#xff1a;项目上线后用于实时监控或评测找瓶颈。Arthas&#xff08;原阿尔萨…

某漫画网站JS逆向反混淆流程分析

文章目录 1. 写在前面1. 接口分析2. 反混淆分析 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Pyth…