云计算(第二阶段):mysql后的shell

news2024/11/25 19:48:06
  • 第一章:变量

    • 前言

      • 什么是shell

        • Shell 是一种提供用户与操作系统内核交互的工具,它接受用户输入的命令,解释后交给操作系统去执行。它不仅可以作为命令解释器,还可以通过脚本完成一系列自动化任务。
      • shell的特点

        • 跨平台:大多数 Shell 都可以在不同的类 UNIX 系统上运行,包括 Linux 和 macOS。
        • 易于编写脚本:用户可以通过编写脚本来实现自动化操作,大大简化了复杂任务的执行。
        • 灵活性:Shell 支持多种内置命令,并允许通过管道、重定向等机制,将多个命令组合起来使用。
        • 用户友好:Shell 允许用户自定义环境变量、快捷命令和别名,增强了用户体验。
        • 强大的命令处理:支持控制流、条件判断、循环等逻辑操作,具备一定的编程功能。
      • shell可以做什么

        • 文件管理:通过命令创建、删除、复制、移动文件或目录。
        • 系统管理:执行系统管理任务,如查看和终止进程、监控系统状态、管理用户和权限。
        • 自动化任务:通过编写 Shell 脚本,自动执行批量任务,比如备份、日志管理等。
        • 程序执行:可以调用和运行各种程序、脚本或应用,并能处理它们的输出结果。
        • 网络操作:通过命令控制网络接口,进行 FTP、SSH 等网络操作。
      • shell的执行方式

        • 交互式执行:用户在命令行提示符下输入一条命令,Shell 立即解释并执行该命令。执行结束后,返回命令行等待下一条输入。

        • 脚本式执行:用户将多个命令写入一个文件(脚本文件),然后让 Shell 执行该文件中的命令。通过这种方式,用户可以将重复性任务自动化。

          • 先写一个简单的脚本

            • #简单的不标准test使用
              echo 'nihao'
              #shell没有结束符,换行结束,有些用;结束但是很少,还常用

              用下面的方式执行

          • sh 文件名.sh

          • bash 文件名.sh

          • . 文件名(.+空格).sh

          • soucre 文件名.sh

          • ./文件名.sh

          • 区别

            • sh,bash是告诉计算机无论脚本的 Shebang 行是什么是什么都用sh,bash执行,当然其实/usr/bin/sh是/usr/bin/bash的软连接(脚本在新的子 Shell 中执行,不会影响当前 Shell 的环境变量和设置)

            • .表示source:直接在当前 Shell 环境中执行脚本文件。. 是一个 Shell 内置命令,等同于 source

            • ./:在一个新的子 Shell 中执行脚本,并且会根据脚本中的 Shebang 行指定的解释器来运行,要执行权限

      • shell的解释器在哪

        • 查看当前使用的 Shell:在命令行输入 echo $SHELL 可以查看当前使用的 Shell 解释器路径。
        • 常见 Shell 解释器路径
          • /bin/bash:Bash 的路径。
          • /bin/sh:Bourne Shell 的路径。
      • shell脚本的建议格式

        • #!/bin/bash
          #Shebang行:使用 #!/bin/bash 指定脚本应由 Bash 解释器运行。
          #-----------------------------------
          # 脚本名称: backup_script.sh
          # 描述: 该脚本用于将指定的源目录备份到目标目录,
          #       并记录操作日志,处理潜在的错误。
          # 作者: Your Name
          # 日期: 2024-10-13
          # 版本: 1.0
          #-----------------------------------
          
          
          # 调试模式设置:
          # 开启严格模式,确保脚本执行时遇到错误会立即退出:
          # -e: 当命令执行失败时退出脚本。
          # -u: 使用未定义的变量时退出。
          # -o pipefail: 如果管道中的任一命令失败,整个管道失败。
          set -euo pipefail
          
          #-----------自己的代码写在下面-------------
          

          这只是建议,可以不管,但是建议这么写

    • 变量

      • 简介

        • 如果你用过其它语言你就了解,如果你没有用过。那么变量就是酒店门牌号,具体的操作如下:有一家酒店住人(就是内存放数据),你定了一间房(告诉内存准备空间),觉得444门牌不吉利但不愿意换房,换了门牌号666(告诉系统变量名),你住了(向变量内放了内容),第二天退房(变量死亡)。
      • 自定义变量

        • 用户自定义变量是用户在脚本中定义的变量,用于存储数据、路径、配置等信息。与系统预定义的变量不同,用户自定义变量通常以用户的需求为基础。
        • 定义变量
          • 变量名=值(文本引号内,数字没引号){变量名的要求:可以用字母大小写,数字,下划线组成,但是数字不开头也不能是全数字,不要用bash中的关键字,最好见名知意}
        • 使用变量
          • echo $变量名(echo表示打印,$表示调出变量内容,加起来就是调出变量内容然后打印出来)
        • 重复定义变量
          • 已有变量名=新值(会覆盖旧值)
        • 变量查看set
          • set可以查看当前系统所有变量
        • 变量删除
          • unset 变量名(一般来说变量没用了就不用管了,除非对内存要求严格,比如嵌入式)
        • 交互式定义变量
          • read 变量名(read函数从控制台读数据,意思是将读到的数据给变量)
          • read -p "在-p的条件下,你可以向终端输出一些语句" 变量名
        • 注意:三种引号
          • 单引号('):将其中的文本视为字面量,不进行任何变量替换或命令替换。
          • 双引号("):允许变量替换和命令替换。在引号内使用 $ 或反引号(`)会被解释。
          • 反引号(`):用于命令替换。反引号内的命令会被执行,其输出结果会替换原位置。现代 Shell 还支持使用 $(...) 语法来实现命令替换反引号,这种方式更清晰且更易于嵌套。
      • 整数运算(只能用整数,都支持变量$变量)

        • $(())方法
          • 用途:用于进行算术运算,是现代 Shell 中最常用的方式。
          • 格式:表达式写在 $((...)) 内部,不需要空格。
          • 优点:支持多种运算,包括加法+、减法-、乘法*、除法/和取余%。
        • $[]方法
          • 用途:也是进行算术运算的一种方式,但不推荐使用,因为在某些 Shell 中可能会被弃用。
          • 格式:表达式写在 $[...] 内部,不需要空格。
        • let方法(在声明变量的同时完成计算)
          • 注意:不支持浮点数运算。
          • 格式:可以省略 $ 符号,直接使用变量名。比如let 变量c=变量1+变量2
          • 用途:用于计算算术表达式,支持多种运算,常用于循环和条件语句中。
        • expr方法
          • 用途:用于计算表达式,支持整数运算。
          • 格式:需要在 expr 和运算数之间使用空格,要放在$()内。+-/%,\*(乘有点特殊)
          • 注意:通常用于较旧的 Shell 脚本,现代脚本中更常用 $(())
      • 小数运算(了解){需要用到bc(计算器)命令,没有就yum -y install bc}
        • echo “表达式”|bc:因为bc是命令,所以通过echo将表达式输出到终端,使用管道符传递给bc处理
      • 环境变量(了解)

      • 位置变量与预定义变量(了解)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】动态规划—124. 二叉树中的最大路径和(附完整Python/C++代码)

动态规划—124. 二叉树中的最大路径和 题目描述前言基本思路1. 问题定义路径的限制: 2. 理解问题和递推关系核心思路:状态定义:递归公式: 3. 解决方法递归 动态规划方法伪代码: 4. 进一步优化5. 小总结 Python代码Pyt…

安装GraphRAG

安装GraphRAG 本文没有安装成功,一直卡在构建图节点。 我用的思路是GraphRAGOllama(大语言模型)Xinference(词嵌入)。找到的其他思路是,修改源码。 1 简介 1.1 GraphRAG GraphRAG是微软开源的一种基于…

鸿蒙开发 三十九 ArkTs类 class 静态属性和方法的定义

鸿蒙提供了static关键字,可以用static关键字修饰的属性和方法,用static修饰的属性和方法用类名.的方式调用,如下图: 在Robot方法中定义了静态的属性version,调用的话直接Robot.version就可以了,定义了方法&…

RabbitMQ消息队列MQ脑裂(网络分区)整理分析

文章目录 RabbitMQ 的集群架构基础什么是MQ脑裂检测网络分区RabbitMQ 网络分区导致脑裂的原因• 多个节点认为自己是主节点:• 节点间状态不一致:• 集群的不可用性和错误恢复: RabbitMQ 网络分区引发脑裂的常见场景队列镜像不同步HA&#xf…

人工智能的研究方法

一、人工智能是自然科学和社会科学的交叉学科 1、仿生学,生物构造和功能 2、运筹学,应用数学进行科学决策 3、控制论,通信与控制 4、认知科学,人脑或心智工件机制 5、哲学,世界观和方法论 6、数学,概…

Halcon Blob分析提取小光斑

文章目录 算子complement 返回一个区域的补集select_region_point 选择包含指定像素的所有区域intensity 计算灰度值的均值和偏差 案例 算子 complement 返回一个区域的补集 complement(Region : RegionComplement : : )Region (输入对象):这指的是输入的一个或多…

[Linux] 软硬链接

软硬连接是两种链接方式,目的是通过使用一个已有的文件,在不进行拷贝的情况下,可以在不同的路径下访问同一份文件 软连接相当于快捷方式 硬连接相当于引用计数 软硬链接的目标也可以是软硬链接 软连接 指令 : ln -s 源文件 链接文件 软连接可链接文件夹 链接文件被删除后文件…

复杂网络基本概念(二)

一、集聚系数 节点i的集聚系数定义: 节点i的k个邻居节点之间实际存在的边数E和总的可能边数之比 所有节点的集聚系数的平均值 二、网络稀疏性与连通性 完全连接网络: 如果一个网络中任意两个节点之间都有来连边存在,则称其是一个完全连接…

探索 Python 装饰器的新境界:wrapt 库的神秘力量

文章目录 探索 Python 装饰器的新境界:wrapt 库的神秘力量背景:为何选择 wrapt?wrapt 是什么?如何安装 wrapt?简单的 wrapt 库函数使用方法创建简单装饰器保持元信息处理参数传递 场景应用:wrapt 的实际用例…

某知名国企面试题

引言 金九银十,求职热潮再度来袭。最近,有位同学去一家知名国企应聘,回来后带回了一套面试题。这套面试题非常典型,其中包含了许多供应链金融方面的典型问题。这些问题很有分享的价值,大家也可以先自己独立思考一下&a…

38 Spring

38 Spring 参考资料 Spring-全面详解(学习总结) 基本概念 Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术。 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。 IOC本质 IOC全…

【Redis】分布式(day12)

引入 在实际生产中,只部署一个Redis时,就会造成单点问题: 可用性问题,单个节点部署的Redis,如果此时该服务器挂了,那么意味着Redis整体的服务也就断掉了。性能/并发也是比较有限的。 为了避免单点问题的…

如何在UE5中创建加载屏幕(开场动画)?

第一步: 首先在虚幻商城安装好Async Loading Screen,并且在项目的插件中勾选好。 第二步: 确保准备好所需要的素材: 1)开头的动画视频 2)关卡加载图片 3)准备至少两个关卡 第三步&#xff1a…

通信工程学习:什么是SPI串行外设接口

SPI:串行外设接口 SPI,即串行外设接口(Serial Peripheral Interface),是一种由Motorola公司首先在其MC68HCXX系列处理器上定义的同步串行接口技术。SPI接口主要用于微控制器(MCU)与外部设备之间…

spring |Spring Security安全框架 —— 认证流程实现

文章目录 开头简介环境搭建入门使用1、认证1、实体类2、Controller层3、Service层3.1、接口3.2、实现类3.3、实现类:UserDetailsServiceImpl 4、Mapper层3、自定义token认证filter 注意事项小结 开头 Spring Security 官方网址:Spring Security官网 开…

leetcode 1027 最长等差数列 题目的思考

https://leetcode.cn/problems/longest-arithmetic-subsequence/ 如果序列是:3 0 3,枚举的公差是3 对于第一个数3,它的序列长度就是他自己3 对于第二个数0,它的序列长度就行它自己0 对于第三个数,它的序列长度应该是【…

【未知列名注入】

简介 在sql注入中,如果服务器过滤了column_name阻止我们获取列名,我们该如何绕过 一、union 绕过 使用union构造多个表,把数据表和构造的123表连接起来,我们看一下构造过程: 查询user表数据 select * from user;Union联合查询…

基于协同过滤的景区旅游可视化与景区推荐系统(自动爬虫,地点可换)

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍过程展示项目移植每文一语 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 本项目是一个综合性的旅游景区数据管理与分析推荐系统,集成了用…

Qt:设置程序图标与主窗口背景图片

目录 设置程序图标: 设置主窗口背景图片: 设置程序图标: 在设置图标之前先准备一张ico图标,没有ico图标的可以准备一张图片,然后找一个在线的ico转换网站去转换一张ico文件出来。 然后打开项目文件所在的文件夹&am…

C语言 | Leetcode C语言题解之第467题环绕字符串中唯一的子字符串

题目&#xff1a; 题解&#xff1a; #define MAX(a, b) ((a) > (b) ? (a) : (b))int findSubstringInWraproundString(char * p) {int dp[26];int len strlen(p);memset(dp, 0, sizeof(dp));int k 0;for (int i 0; i < len; i) {if (i && (p[i] - p[i - 1] …