【Linux】shell脚本编程
目录
概念:
shell脚本的本质:
shell脚本编程:
shell变量:
变量的定义格式:
变量的分类
自定义变量:
环境变量:
命令变量与命令行参数:
预定义变量:
shell中的语句
功能性语句
read(类似c当中 scanf)
expr
let
test
字符串测试
整数测试
文件属性测试
结构性语句
if...then...fi
基本结构
分层结构
嵌套结构
elif(多路分支结构)
case语句
for循环
for语句的几种书写格式
while循环
循环控制语句
数组
定义数组
获取数组
数组切片
gcc编译步骤
概念:
shell脚本的本质:
shell命令的有序集合
shell既是应用程序又是脚本语言,并且是解释型语言,不需要编译,解释一条执行一条。
shell脚本编程:
将shell命令结合一些按照一定逻辑集合到一起,写一个 .sh文件,实现一个或多个功能,这个脚本不用编译直接执行
创建shell脚本文件的步骤:
1. 创建一个脚本文件touch xxx.sh
2. 将脚本文件的权限修改为可执行chmod 777 xxx.sh
3. 编辑脚本内容vi xxx.sh
4. 执行脚本文件./xxx.sh 或 bash xxx.sh
练习:
1)在当前路径下创建file_1到file_5, 5个普通文件
2)删除 file_2和file_3文件(使用通配符)
3)将剩下的file文件用tar压缩成bz2的格式
4)将压缩文件复制到家目录下
5)进入到家目录解压压缩文件
6)删除压缩包
touch file_{1..5}
rm file_[23]
tar -cvjf file.tar.bz2 file_[^23]
cp file.tar.bz2 ~
cd ~
tar -xvf file.tar.bz2
rm file.tar.bz2
shell变量:
shell中允许建立变量存储数据,但是不支持数据类型
(如:整型、字符、浮点类型),所有赋值给变量的值都解释为一串字符
变量的定义格式:
变量名=值
注:等号两边不能有空格
取shell变量的值:$变量名
变量的分类
自定义变量:
YY=hello # YY="hello world"echo $YYXX=$YY ---> 将 YY 的值赋值给 XXecho $XXunset 变量名 ---> 取消该变量的值
环境变量:
系统配置好的、内置变量
使用命令查看系统环境变量: printenv或 env
export 变量名=值 临时终端有效
永久生效只需要将这个命令放到用户目录下 .bashrc 文件中,当前用户永久有效。
若放到 /etc/bash.bashrc 这个文件中所有用户永久有效
命令变量与命令行参数:
$0 执行的脚本名
$1-$9、${10}-${n} 命令行空格传的参数 n:第几个命令行参数
$# 命令行参数个数除 $0
$@$* 遍历输出命令行参数内容
预定义变量:
$? 获取的是上一个命令是否是正确的执行结果
0:真 非0:假
$$ 获取当前shell的进程 PID
shell中的语句
1) 说明性语句
以 #开始到该行结束,不被解释执行
#!/bin/bash告诉操作系统使用哪种类型的shell执行此脚本文件
2) 功能性语句
任意的shell命令、用户程序或其他的shell程序
3) 结构性语句
条件测试语句、多路分支语句、循环语句、循环控制语句
功能性语句
read(类似c当中 scanf)
从终端获取值赋值给变量
格式:read 变量名1 变量名2...
加提示语句:read-p"提示字符串"变量名1 变量名2 ...
注:把终端读入空格隔开的第一个单词赋值给第一个变量,第二个单词赋值给第二个变量,依次类推赋值,剩余所有单词赋值给最后一个变量。
expr
算术运算命令expr 主要用于进行简单的整数运算,包括(+)、减(-)、乘(*)、整除(/)、求模(%)等操作
注意:
1) 运算符左右两侧必须有空格
2) *和()必须加转义字符,\*、\( \)
3) expr语句可以直接输出运算结果
如:expr \( 12 + 3 \) \* 2
NUM=`expr \( 12 + 3 \) \* 2`:将运算结果赋值给变量
read -p "要输入的值" val1 val2 val3
expr \( $val1 + $val2 \) \* $val3
let
在运算中不能有空格
运算结果需要赋值给一个变量
变量参与运算的过程不用加 $ 取值
test
test 语句可以测试三种对象
字符串 整数 文件属性
字符串测试
s1 = s2 测试两个字符串的内容是否一样test "hello" = "world"echo $? # 1 相等为真,不相等为假s1 != s2 测试字符串的内容是否有差异test "hello" != "hello"echo $? # 1 相等为假,不相等为真-z s1 测试s1字符串长度是否为0test -z "" echo $? # 0 字符串长度为0test -z "hello"echo $? # 1 字符串长度不为0-n s1 测试s1字符串长度是否不为空 (空的时候为1,反之为0)test -n ""echo $? # 1 字符串长度为空,则为假test -n "hello"echo $? # 0 字符串有长度为真
整数测试
a -eq b 测试a和b是否相等的 # equalread A Btest $A -eq $Becho $? # 如果两个数相等则为真,反之为假a -ne b 测试 a 和 b是否不相等 # no equalread A Btest $A -ne $Becho $? # 如果两个数不相等则为真,反之为假a -gt b 测试 a 是否大于 b # greater thanread A Btest $A -gt $Becho $? # 如果a大于b则为真,反之为假a -ge b 测试 a 是否大于等于 b # greater equal thanread A Btest $A -ge $Becho $? # 如果a大于等b则为真,反之为假a -lt b 测试 a 是否小于 b # less thanread A Btest $A -lt $Becho $? # 如果a小于b则为真,反之为假a -le b 测试 a 是否小于等于 b # less eqaul thanread A Btest $A -le $Becho $? # 如果a小于等于b则为真,反之为假
文件属性测试
-d name 测试name是否为一个目录test -d 路径echo $? # 如果name是目录则为真,反之为假-f name 测试name是否为一个普通文件test -f 路径echo $? # 如果name是普通文件则为真,反之为假-e name 测试文件是否存在test -e 路径echo $? # 如果文件或目录存在则为真,反之为假
结构性语句
if...then...fi
基本结构
if 表达式
then命令表
fi
分层结构
if 表达式
then命令表1
else命令表2
fi
嵌套结构
if 表达式1
thenif 表达式2then命令表 2else命令表3fi
else命令表
fi
elif(多路分支结构)
if 表达式1
then命令表1
elif 表达式2
then命令表2
elif 表达式3
then命令表3
...
else表达式 n
fi注意:如果表达式为真, 则执行命令表中的命令; 否则退出if语句, 即执行fi后面的语句。 if和fi是条件语句的语句括号, 必须成对使用;命令表中的命令可以是一条, 也可以是若干条。
补充操作符:
! 非运算 例如 [ ! false ] 返回 true
&& 逻辑与 例如 [[ $a -lt 100 && $b -gt 100 ]] 返回 false
|| 逻辑或 例如 [[ $a -lt 100 || $b -gt 100 ]] 返回 true
case语句
格式:
case 变量 in
模式1)命令表1;;
模式2)命令表2;;
*)命令表n;;
esac工作方式:取值后面必须为关键字 in ,每一个模式必须以右括号结束。取值可以为变量或者常量,取值检测匹配的每一个模式一旦模式匹配,其间所有命令开始执行直至 ;;执行完匹配模式相应的命令不会再继续匹配其他的模式如果无一匹配模式,使用 * 号捕获该值
| 或者 ; 转换模式
学生成绩管理系统,用shell中的case实现
90-100:A
80-89:B
70-79:C
60-69:D
<60:不及格
for循环
格式:
for 变量名 in 单词表
do命令表
done执行顺序:
变量依次取单词表中的各个单词, 每取一次单词, 就执行一次循环体中的命令. 循环次数由单词表中的单词数确定. 命令表中的命令可以是一条, 也可以是由分号或换行符分开的多条for I in 1 2 3 4 5 6 7 8 9 10
doecho "$I"
done
for语句的几种书写格式
变量I从单词表中取值
1) for I in 1 2 3 4 5 6 7 8 9 10 do ... done变量I从 1-10个数中取值
2) for I in {1..10} do ... done变量I从命令行取值,省略in、单词表
3) for I do ... done./脚本名 1 2 3 4 5书写格式类似C语言
4) for (( i = 0; i < 10; i++ )) do ... done
for (( i = 0; i < 10; i++ ))
doecho "$i"
done
while循环
格式:
while 命令或表达式
do命令表
done执行顺序:
while语句首先测试其后的命令或表达式的值,如果为真,就执行一次循环体中的命令,然后再测试该命令或表达式的值,执行循环体,直到该命令或表达式为假时退出循环。I=1
while [ $I -lt 10 ]
doecho $I(( I++ ))
doneecho $(( I++ ))
循环控制语句
breakn:结束n层循环
continuen:跳过n层本次循环,继续下一个循环
for (( i = 0; i < 10; i++ ))
dofor (( j = 0; j < 10; j++ ))doif [ $j -eq 3 ]then# continue# continue 2# breakbreak 2fiecho "$i:$j"done
done
数组
定义数组
在shell当中,用小括号 ( ) 来表示数组,数组元素之间用空格来隔开
1. 数组名=(value1 value2 value3 ...)
2. 数组名=(
value1
value2
...
)
3. 通过键值对的形式赋值
数组名=([0]=value1 [1]=value2)
4. 通过分别定义数组变量的方式来定义
数组名[0]="value1"
数组名[1]="value2"
5. 列表名="value0value1 value2"
数组名=($列表名)
注意:
1. 数组中的元素,必须以空格来隔开
2. 定义数组以其索引,可以不按顺序来定义的 如:数组名=([0]=value0 [1]=value2 [8]=array)
3. 字符串是数组中最重要的数据类型,可以通过 ($str) 转成数组
获取数组
1. 获取单个数组元素
${数组名[下标]}
2. 获取数组全部内容
${数组名[@]}或 ${数组名[*]}
3. 获取数组元素的个数
${#数组名[@]} 或 ${#数组名[*]}
数组切片
取数组中的某一段的元素的值
格式:
${数组名[@或*]:起始位置:长度}
gcc编译步骤
预处理:处理以#开头的内容,展开头文件、替换宏定义、删除注释,但是不会进行语法检查。
gcc -E xxx.c -o xxx.i编译:进行语法检查,将.i文件转化成.s汇编文件
gcc -S xxx.i -o xxx.s汇编:将汇编文件转化成二进制文件(不可执行)
gcc -c xxx.s -o xxx.o链接:链接库文件,将不可执行的二进制文件转化成可执行的二进制
gcc xxx.o -o xxx写 Makefile 时一般这样写
gcc xxx.o -o xxx
gcc -c xxx.c -o xxx.o
相关文章:
【Linux】shell脚本编程
目录 概念: shell脚本的本质: shell脚本编程: shell变量: 变量的定义格式: 变量的分类 自定义变量: 环境变量: 命令变量与命令行参数: 预定义变量: shell中的…...
ingress-nginx-controller安装
ingress-nginx-controller安装 ingress-nginx-controller是配置ingress发布的基础。以下主要采用Helm安装。地址: GitHub - kubernetes/ingress-nginx: Ingress NGINX Controller for Kubernetes 1 Helm安装 安装不难,需要找到合适的压缩包就行。我自…...
机器学习基础-机器学习的常用学习方法
目录 半监督学习的概念 规则学习的概念 基本概念 机器学习里的规则 逻辑规则 规则集 充分性与必要性 冲突消解 命题逻辑 → 命题规则 序贯覆盖 单条规则学习 剪枝优化 强化学习的概念 1. 强化学习对应了四元组 2. 强化学习的目标 强化学习常用马尔可夫决策过程…...
如何在Windows 11 WSL2 Ubuntu 环境下安装和配置perf性能分析工具?
在Windows 11 WSL2 Ubuntu 环境下完整安装和配置perf性能分析工具 一、背景二、准备工作三、获取并编译Linux内核源码四、安装和配置perf五、测试perf六、总结 一、背景 由于WSL2使用的是微软定制的内核,并非标准的Ubuntu内核,因此直接使用apt安装linux…...
人工智能知识分享第十天-机器学习_聚类算法
聚类算法 1 聚类算法简介 1.1 聚类算法介绍 一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。 目的是将数据集中的对象分成多个簇(Cluster),使得同一簇内的对象相似度较高,而不同簇之间的对象相…...
使用wav2vec 2.0进行音位分类任务的研究总结
使用wav2vec 2.0进行音位分类任务的研究总结 原文名称: Using wav2vec 2.0 for phonetic classification tasks: methodological aspects 研究背景 自监督学习在语音中的应用 自监督学习在自动语音识别任务中表现出色,例如说话人识别和验证。变换器模型…...
【Leetcode 热题 100】33. 搜索旋转排序数组
问题背景 整数数组 n u m s nums nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前, n u m s nums nums 在预先未知的某个下标 k ( 0 ≤ k < n u m s . l e n g t h ) k(0 \le k \lt nums.length) k(0≤k<nums.length) 上进行了 旋转&…...
【VScode】设置代理,通过代理连接服务器
文章目录 VScode编辑器设置代理1.图形化界面1.1 进入proxy设置界面1.2 配置代理服务器 2.配置文件(推荐)2.1 打开setting.json 文件2.2 配置代理 VScode编辑器设置代理 根据情况安装nmap 1.图形化界面 1.1 进入proxy设置界面 或者使用快捷键ctrl , 。…...
每日一题-两个链表的第一个公共结点
文章目录 两个链表的第一个公共结点问题描述示例说明示例 1示例 2 方法及实现方法描述代码实现 复杂度分析示例运行过程示例 1示例 2 总结备注 两个链表的第一个公共结点 问题描述 给定两个无环的单向链表,找到它们的第一个公共节点。如果没有公共节点,…...
Linux存储管理之核心秘密(The Core Secret of Linux Storage Management)
Linux存储管理之核心秘密 如果你来自Windows环境,那么Linux处理和管理存储设备的方式对你而言可能显得格外不同。我们知道,Linux的文件系统并不采用Windows那样的物理驱动器表示方式(如C:、D:或E:),而是构建了一个以&…...
js单例模式
保证一个类只有一个实例,并提供一个访问它的全局访问点 实现 静态方法实现 class SingleTon{//全局的访问点static getInstance(){// 保证一个类只有一个实例if(!this.instance){this.instancenew SingleTon()}return this.instance}}let aSingleTon.getInstance()let bSing…...
搭建一个本地轻量级且好用的学习TypeScript语言的环境
需求说明 虽然 TypeScript 的在线 Playground 很方便 https://www.tslang.com.cn/play/,但毕竟是在浏览器中使用,没有本地的 IDE 那么顺手。所以我想搭建一个本地类似 Playground 的环境,这样在学习 TypeScript 的过程中,可以更方…...
大模型(LLM)面试全解:主流架构、训练目标、涌现能力全面解析
系列文章目录 大模型(LLMs)基础面 01-大模型(LLM)面试全解:主流架构、训练目标、涌现能力全面解析 大模型(LLMs)进阶面 文章目录 系列文章目录大模型(LLMs)基础面一、目…...
入门嵌入式(七)——PWM
PWM 脉冲宽度调制PWM(Pulse-Width Modulation) 一组方波 周期 1ms 频率 1s / 周期 占空比 高电平/周期 数字信号:0/1高低电平 串口 IIC PWM都属于数字信号 模拟信号:电压值, 会受到电磁影响 ADC 模数转换 用于读取…...
Flutter 实现 列表滑动过程控件停靠效果 学习
实现一个 Flutter 应用程序,使用 Sliver 系列组件来创建具有滚动效果的复杂布局。使用 NestedScrollView 和 SliverPersistentHeader 来实现固定和动态的头部效果,以及一个可滚动的列表。 前置知识点学习 SingleTickerProviderStateMixin SingleTicker…...
STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显
资料下载地址:STM32WIFI获取网络时间8位数码管显示0.96OLED 1、项目介绍 主控芯片STM32C8T6 接线:串口1:PA9 PA10 OELD :PB6 PB7 数码管使用:MAX7219 8位数码管 Max7219_pinCLK PAout(5) Max7219_pinC…...
Kivy App开发之UX控件Slider滑块
在app中可能会调节如音量,亮度等,可以使用Slider来实现,该控件调用方便,兼容性好,滑动平稳。在一些参数设置中,也可以用来调整数值。 支持水平和垂直方向,可以设置默认值,最小及最大值。 使用方法,需用引入Slider类,通过Slider类生成一个滑块并设置相关的样式后,再…...
STM32学习(十)
I2C模块内部结构 I2C(Inter-Integrated Circuit)模块是一种由Philips公司开发的二线式串行总线协议,用于短距离通信,允许多个设备共享相同的总线。 硬件连接简单:I2C通信仅需要两条总线,即SCL&…...
何为“正则表达式”!
详细解释: ^:在JSON的正则表达式中,^表示匹配输入字符串的开始位置。这意味着正则表达式将从字符串的开头开始进行匹配,确保整个字符串符合后续的模式要求。例如,对于字符串"3.14",正则表达式会…...
创建Java项目,并添加MyBatis包和驱动包
一 : Mybatis和jsp使用上,只有Dao层有区别 Mybatis 使用方法: 测试类的7步骤 1.读取核心配置文件 2.构建sql会话工厂 3.开启sql会话 4.获取mapper接口 5.调用相对应的增删改查方法 6.打印 7.关闭回话 /*** 用户列表* throws IOException*/Testpublic void roleList() throws IO…...
目标检测文献阅读-DETR:使用Transformer进行端到端目标检测
目录 摘要 Abstract 1 引言 2 DETR结构 2.1 Backbone 2.2 Encoder 2.3 Decoder 2.4 FFN 3 目标检测集合预测损失 3.1 二分图匹配损失 3.2 损失函数 总结 摘要 本周阅读的论文题目是《End-to-End Object Detection with Transformers》(使用Transformer进行端到端目…...
C#里对已经存在的文件进行压缩生成ZIP文件
先要对目录下所有文件获取到: private List<string> GetXDFiles(string dirPath){//获取目录中的所有文件string suffix = "*.txt"; // 要查找的文件后缀var files = Directory.GetFiles(dirPath, suffix, SearchOption.TopDirectoryOnly).ToList();return fi…...
单片机软件定时器V4.0
单片机软件定时器V4.0 用于单片机定时执行任务等,比如LED GPIO等定时控制,内置前后台工作模式 头文件有使用例子 #ifndef __SORFTIME_APP_H #define __SORFTIME_APP_H#ifdef __cplusplus extern "C" { #endif#include <stdint.h>// #…...
【嵌入式硬件】嵌入式显示屏接口
数字显示串行接口(Digital Display Serial Interface) SPI 不过多赘述。 I2C-bus interface 不过多赘述 MIPI DSI MIPI (Mobile Industry Processor Interface) Alliance, DSI (Display Serial Interface) 一般用于移动设备,下面是接口…...
vuedraggable 选项介绍
vuedraggable 是基于 SortableJS 的 Vue 组件,提供了丰富的选项来定制拖拽行为。以下是 vuedraggable 常用的选项和它们的详细说明: 常用选项介绍 group 配置拖拽分组。多个列表可以共享同一个分组,允许它们之间的项目互相拖拽。 group: { na…...
OpenAI CEO 奥特曼发长文《反思》
OpenAI CEO 奥特曼发长文《反思》 --- 引言:从 ChatGPT 到 AGI 的探索 ChatGPT 诞生仅一个多月,如今我们已经过渡到可以进行复杂推理的下一代模型。新年让人们陷入反思,我想分享一些个人想法,谈谈它迄今为止的发展,…...
Appium(一)--- 环境搭建
一、Android自动化环境搭建 1、JDK 必须1.8及以上(1) 安装:默认安装(2) 环境变量配置新建JAVA_HOME:安装路径新建CLASSPath%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar在path中增加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(3) 验证…...
如何查看服务器上的MySQL/Redis等系统服务状态和列表
如果呢你知道系统服务名称,要看状态很简单: systemctl status server-name 比如 systemctl status nginxsystemctl status redis # 等 这是一个nginx的示例: 那问题是 当你不知道服务名称时该怎么办。举个例子,比如mysql在启动…...
多模态论文笔记——U-ViT
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍U-ViT的模型架构和实验细节,虽然没有后续的DiT在AIGC领域火爆,但为后来的研究奠定了基础,但其开创性的探索值得学习…...
08-1_队列的理论讲解
08-1_队列的理论讲解 队列概念理解 队列就是一个传送带,就是一个流水线 工人放入的数据, 放在传送带上,送给消费者, 消费者第一次拿到的数据,就是工人第一次放上的数据(类比队列,先进先出) freertos队列应用思考 队列对于消费者(取数据): (1)当队列没有数据, 消费者需要进入…...
HTML基础入门——简单网页页面
目录 一,网上转账电子账单 编辑 1,所利用到的标签 2,代码编写 3,运行结果 二,李白诗词 1,所用到的标签 2,照片的编辑 3,代码编写 4,运行结果 一,网…...
Proteus-8086调试汇编格式的一点心得
这阵子开始做汇编的微机实验(微机原理与接口技术题解及实验指导,吴宁版本13章),中间出了挺多问题,解决后记录下。 先上电路图 用子电路来仿真发现仿真的时候子电路这块根本没有高低电平输出,只好把子电路拿…...
Python入门教程 —— 多任务
1.线程 1.1.线程安全问题 线程访问全局变量 import threading g_num = 0 def test(n):global g_numfor x in range(n):g_num += xg_num -= xprint(g_num)if __name__ == __main__:t1 = threading.Thread(target=test, args=(10,))t2 = threading.Thread(target=test, args=(…...
【笔记】算法记录
1、求一个数的素因子(试除法) // 获取一个数的所有素因子 set<int> getPrimeFactors(int num) {set<int> primeFactors;for (int i 2; i * i < num; i) {while (num % i 0) {primeFactors.insert(i);num / i;}}if (num > 1) {prime…...
2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无
2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无 前端代码开源库 关于开源说明:企业服务-招聘信息管理系统-前端uniapp-系统前端开放源代码仅供学习-优雅草科技-目前优雅草科…...
【网络】计算机网络的分类 局域网 (LAN) 广域网 (WAN) 城域网 (MAN)个域网(PAN)
局域网是通过路由器接入广域网的 分布范围 局域网Local Area Network:小范围覆盖,速度高,延迟低(办公室,家庭,校园,网络) 广域网Wide Area Network 大范围覆盖,速度相对低,延迟高…...
DeepSeek:性能强劲的开源模型
deepseek 全新系列模型 DeepSeek-V3 首个版本上线并同步开源。登录官网 chat.deepseek.com 即可与最新版 V3 模型对话。 性能对齐海外领军闭源模型 DeepSeek-V3 为自研 MoE 模型,671B 参数,激活 37B,在 14.8T token 上进行了预训练。 论…...
MySql 通过 LOAD DATA INFILE 导入大量数据
背景:要在本地Mysql导入几十万-百万条数据非常耗时,从网上找到通过load data infile 方式可以快速导入大量数据,就动手尝试了。结果就是不太适合复杂的格式数据导入,比如字段多,数据格式多等,但对于简单的表…...
Linux系统中解决端口占用问题
在日常的 Linux 系统管理和开发过程中,端口占用是一个常见且令人头疼的问题。无论是部署新服务、调试应用程序,还是进行系统维护,遇到端口被占用都可能导致服务无法正常启动或运行。本文将详细介绍在 Linux 系统中如何识别和解决端口占用问题…...
两种方式实现Kepware与PLC之间的心跳检测
两种方式实现Kepware与PLC之间的心跳检测 实现Kepware与PLC之间的心跳检测1.OPCUA 外挂程序2.Kepware Advanced Tag 实现Kepware与PLC之间的心跳检测 1.OPCUA 外挂程序 这是通过上位程序来触发心跳的一种机制,在C#中,可以利用OPC UAOPCAutodll的方式…...
使用DockerCompose部署服务
由于格式或图片解析问题,为了更好的阅读体验,可前往 阅读原文 以前我们总是用命令管理每个容器的启动、停止等等,若有多个容器时可能还存在启动优先级的问题,那就要等到指定的容器启动后再去启动另一个容器,对于整体的…...
第P5周-Pytorch实现运动鞋品牌识别
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 具体实现 (一)环境 语言环境:Python 3.10 编 译 器: PyCharm 框 架: Pytorch (二)具体步骤 时间…...
react-quill 富文本组件编写和应用
index.tsx文件 import React, { useRef, useState } from react; import { Modal, Button } from antd; import RichEditor from ./RichEditor;const AnchorTouchHistory: React.FC () > {const editorRef useRef<any>(null);const [isModalVisible, setIsModalVis…...
因泰立科技激光车检器,高速公路的精准流量统计专家
高速公路自由流门架激光车检器,专为解决高速公路交通管理中的各种挑战而设计。该产品采用先进的激光测量技术,能够对动态通过的车辆进行高速动态扫描,通过测量物体表面点的反射距离,迅速换算成三维空间坐标,实现对车辆…...
windows中,git bash 使用conda命令
1、首先在Anaconda的安装路径如/Anaconda3/Scripts下,打开git bash窗口,然后输入下面的命令。 ./conda init bash 运行之后,会在用户目录下面生成.bash_profile文件,文件内容如下: # >>> conda initialize…...
《繁星路》V1.8.3(Build16632266)官方中文学习版
《繁星路》官方中文版https://pan.xunlei.com/s/VODae2_2Z3QyMF02I5y321uHA1?pwdqgsh# 作为一款星际模拟游戏,完美融合了硬科幻元素与基地建设玩法,体验改造行星的恢弘与壮阔。化身人工意识AMI,遵照基本指示推进火星改造的各项工作…...
vscode 无法使用npm, cmd命令行窗口可以正常执行
解决方法: 执行命令获得命令的位置 get-command npm 得到如下 然后删除或者修改 npm.ps1文件 让其不能使用就行。然后重启vscode即可。 pnpm 同理即可 另外加速源 国内镜像源(淘宝): npm config set registry https://regist…...
html + css 顶部滚动通知栏示例
前言 在现代网页设计中,一个吸引人的顶部滚动通知栏不仅能够有效传达重要信息,还能提升用户体验。通过使用HTML和CSS,我们可以创建既美观又功能强大的组件,这些组件可以在不影响网站整体性能的情况下提供实时更新或紧急通知。 本…...
阿里mod_asr3.0集成webrtc静音算法
alibabacloud-nls-cpp-sdk-master 先到阿里官网下载nls库的源代码,编译生成对应的库文件和头文件。 我编译的放到了以下目录。 /home/jp/2025/alibabacloud-nls-cpp-sdk-master/build/install/NlsSdk3.X_LINUX/include/ /home/jp/2025/alibabacloud-nls-cpp-sdk-…...
【MySQL】表的基本查询
文章目录 1. 插入 insert1.1 单行插入2.2 多行插入2.3 插入 否则更新2.4 替换 2. 查找 select2.1 select 列2.2 where 条件2.3 order by 排序2.4 筛选分页结果 3. 更新 update4. 删除 delete5. 截断 truncate6. 插入查询结果7. 聚合函数8. group by子句 我们经常说数据库就是CR…...