shell编程基础笔记
目录
echo改字体颜色和字体背景颜色
bash基本功能:
运行方式:推荐使用第二种方法
变量类型
字符串处理:
条件判断:(使用echo $?来判断条件结果,0为true,1为false)
条件语句:
循环语句
特殊流程控制语句
read读取控制台输入
函数
数组:
切片
部分图片截取自【尚硅谷Linux系统管理教程(linux系统管理精讲)】https://www.bilibili.com/video/BV1ut411a7ro?vd_source=4aa5c9ca48e929b37821b89859f00208B仅供学习使用,感谢!
echo改字体颜色和字体背景颜色
bash基本功能:
①。查看历史输入命令history,最大存储在磁盘1000条,可进入/etc/profile进行修改HISTSIZE=1000,进行扩充;
补充:可以使用上下箭头进行历史命令的切换,也可以使用“!历史命令行号”
②。命令改别名alias,进入/root/.bashrc可进行修改,使用source /root/.bashrc进行更新,可使用“unalias 别名”进行删除
加入--color=auto显示颜色
③。错误输出重定向追加保存:“错误命令 2>> 文件”(只能保存错误命令)
正确输出和错误输出同时重定向追加保存:“命令 >> 文件 2>&1”/ "命令 &>> 文件"
分别保存正确错误文件:“命令>>文件1 2>>文件2”
④。多命令顺序执行:
1)。“;” 顺序执行多命令并结果互不影响
2)。“&&” 前者正确,执行后者
3)。“ || ” 前者错误,执行后者
⑤。bash中其他特殊符号(重点注意)
‘’单引号,所见即所得,不能在单引号内再使用单引号。
“”双引号,拥有“调用变量的值”,“引用命令”,“转义字符”的特殊含义,双引号可以嵌套单引号,但不能直接嵌套双引号或反引号。
`` 反引号,其括起来的内容是系统命令,可以调用系统命令将结果赋值给一个变量例如:a=`ls /root`
$() 和反引号作用一样,用来引用系统命令。(推荐使用)
() 用于一串命令执行时,()中的命令会在子shell中运行(相当于执行局部变量)
{} 用于一串命令执行时,{}中的命令会在当前shell中执行,也可以用于变量变形与替换 (相当于执行全局变量)
⑥。bash快捷键
查看系统所有快捷键:stty -a
修改系统快捷键:stty 关键字 快捷键
运行方式:推荐使用第二种方法
①.bash/sh + 绝对/相对路径
②.赋予执行权限chmod +x 文件,以后可以直接用路径调用不需要加bash/sh(相对路径要加./)
③.脚本路径前加".空格"或者source
变量类型
①.预定义变量
$? 功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值非0(具体实施那个数,有命令自己来决定),则证明上一个命令执行不正确
$$ 查看当前进程的进程号(PID)
$! 后台运行的最后一个进程的进程号(PID
②。环境变量
常用系统变量$HOME ,$PWD,$SHELL,$USER
查看系统变量值:echo $HOME
1)。PATH:系统查找命令的路径
PATH变量的值是用“:”分割的路径,这些路径就是系统查找命令的路径。也就是说当我们输入一个程序名,如果没有写入路径,系统就会到PATH变量定义的路径中去寻找,是否有可以执行的程序。如果找到则执行,否则会报“命令没有发现”的错误
自已定义的脚本也可以通过将脚本复制到PATH变量定义的路径中,或者使用PATH=“$PATH”:/root/sh修改PATH变量的值进行叠加,就可以不输入路径而直接运行
2)。PS1变量:命令提示符设置
PS1,是用来定义命令行的提示符,可以按照我们自己的需求来定义自己喜欢的提示符,PS1支持以下这些选项
3)LANG语系变量
LANG变量定义了Linux系统的主语系环境,这个变量的默认值
可以使用locale -a | more来查看支持的语系
4)环境变量配置文件调用过程
③。位置参数变量
特殊变量
$n 功能描述:n为数字,$0代表脚本名称,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}
$# 功能描述:获取所有输入参数个数,常用于循环
$* 功能描述:这个变量代表命令行中的所有参数,$*把所有的参数看成了一个整体
$@ 功能描述:这个变量也代表命令行中的所有参数,不过$@把每一个参数区分对待
举例
④.自定义变量
基本语法:
定义变量:变量名=变量值,注意=前后不能有空格(定义变量不需要加$,调用变量需要给变量前加$)
撤销变量:unset 变量名
声明静态变量:readonly 变量,注意:不能unset
使用“export 变量(declare -x 变量)”可以把变量升级为全局(环境)变量,供其他变量使用(例如将父shell继承给子shell)
变量连接:变量=“$变量”连接值
变量定义规则:
变量名称由字母,数字,下划线组成,不能以数字开头,环境变量建议大写
等号两侧不能有空格
在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
变量的值如果有空格,需要使用双引号和单引号括起来
字符串处理:
①。cut列提取命令
cut [选项] 文件名
选项:
-d 分隔符:按照指定分隔符进行分列
-f 列号:提取第几列,一般与-d联用,cut命令的默认分隔符为制表符tab键,不对空格支持
-c 字符范围: 不依赖分隔符来区分列,而是通过字符范围(行首为1)来进行字段提取。“n-”表示从第n个字符到行尾;“n-m”从第n个字符到第m个字符;“-m”表示从第一个字符到第m个字符。
②。 Awk
列数表示直接为"$数字"
可以使用“-F 分隔符”来进行分割,注意引号的使用
1)。printf 输出
2)。 awk基本使用 awk ‘条件1 {动作1} 条件2 {动作2}….’ 文件名 (动作写在{}中,转义字符和字符串需要用“”括起来,
awk解决cut不能处理的空格问题)
3)awk内置变量
注意:当使用FS时,可能第一行没有起作用,可能是需要加BEGIN条件
③。sed命令
列数表示直接为数字
sed命令主要是用来将数据进行选取,替换,删除,新增的命令
格式:sed [选项] '[动作]' 文件名
注意:1)如果想追加或插入多行数据,除最后一行外,每行的末尾都要加入“\”代表数据未完结;
2)-d只有行删除,没有具体的字符串删除功能,可以使用s将字符串替换为空,即可达到删除字符串的效果
3)多条动作之间要用“;”号或回车进行分割(一般与-e配合使用),当使用-e对多条命令进行编辑时,要与命令紧挨使用,中间不能有其他选项
4)指定行范围可以用“,”例如1,3表示第一行到第三行
④。排序命令sort
格式:sort [选项] 文件名
补充:-k 指定字段号,一般与-t搭配使用,当-t分割后可以选择指定字段号;“-k 3”表示从第三个字段到行尾排序
⑤。uniq命令
uniq命令是用来取消重复行,其实和“sort -u”是一样的
格式:uniq [选项] 文件名
选项:-i: 忽略大小写
⑥。统计命令wc
格式:wc [选项] 文件名
选项:-l: 只统计行数
-w :只统计单词数
-m:只统计字符数
条件判断:(使用echo $?来判断条件结果,0为true,1为false)
基本语法:①.test 判断条件
②.[ 判断条件 ] (注意条件前后距离[]要有空格,等号前后也要有空格)
常用判断条件:
①.两个整数之间比较
②.按照文件权限进行判断
③.按照文件类型进行判断
④.两个文件之间进行比较
⑤。字符串比较
⑥。多重条件比较
条件语句:
注意:条件判断式不用再额外加中括号,例子多加了一层中括号
①.if判断基本语法:
单分支:
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
fi
多分支:
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
else
程序
fi
注意事项:[ 条件判断式 ],中括号和条件判断式之间必须要有空格,if后要有空格
②.case语句基本语法
case $变量名 in
“值1”)
如果变量的值等于值1,则执行程序1
;;
“值2”)
如果变量的值等于值2,则执行程序2
;;
………..省略其他分支
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
注意事项:①case行尾必须为单词“in”,每一行模式匹配必须以右括号“)”结束
②双分号“;;”表示命令序列结束,相当于break
③最后的“*)”表示默认模式,相当于default
循环语句
并发控制(补充)
& 将程序放置后台运行
Wait 允许脚本等待一个或多个后台进程完成
一种做法:
for语句
do {
循环体
}&
Wait
①for循环基本语法:
for((初始值;循环条件控制;变量变化))
do
程序
done
② for in循环基本语法:
for 变量 in 值1 值2 值3……
do
程序
done
③$*,$@基本语法:两个均代表命令行中的所有参数,$*将所有参数看成一个整体,$@把每个参数区分对待
比较:$*,$@都表示传递给函数或脚本的所有参数,不被双引号包含时,都以$1 $2 $3…..的形式分开输出所有参数;
当它们被双引号包含时,$*会以“$1 $2 $3….”按整体的形式输出所有参数,$@以$1 $2 $3…..的形式分开输出所有参数
④,while/until循环基本语法
while只要条件判断式不成立时跳出循环
until只要条件判断式成立则跳出循环
while/until [ 条件判断式 ]
do
程序
done
特殊流程控制语句
①,exit语句
系统的exit命令,是用于退出当前用户的登陆状态;
在shell脚本中,exit语句是用来退出当前脚本的,只要碰到exit语句,后续的程序就不再执行
语法:exit [返回值]
可以使用$?来查看exit的返回值
②,break和continue
read读取控制台输入
基本语法:read (选项) (参数)
选项:-p:指定读取值时的提示符;
-t:指定读取值时等待的时间 (秒)。
-n: 指定接受的字符数
-s: 隐藏输入的数据
参数:
变量:指定读取值的变量名
注意:字符串比较时,等号前后要有空格,否则计算机会识别为赋值语句,定义变量时不要有空格
若输入错误可以ctrl+退格键删除
函数
系统函数
①basename
基本语法:basename [string/pathname] [suffix]
功能描述:basename命令会删掉所有的前缀包括最后一个("/")字符,然后将字符串显示出来。
选项:suffix为后缀,如果suffix被指定了,basename会将pathname或suffix去掉
②dirname
Dirname 文件绝对路径
功能描述:dirname命令会获取所有的前缀路径
自定义函数
基本语法
[function] 函数名()
{
函数体;
[return int;]
}
经验技巧:
①。必须在调用函数地方之前,先声明函数,shell脚本是逐步运行的,不会像其他语言一样先编译
②,函数返回值,只能通过$?系统变量获得,可以显示加:return返回,如果不加,将以最后一条命令结果作为返回值,return后跟数值n(0-255)
数组:
注意:查看和引用数组时需要加{}包裹数组
①,定义数组
数组名=(元素1 元素2 元素3,元素n)
数组名[下标]=变量值
元素定义示例:
②,查看数组
declare -a |grep 目标数组
③,访问数组
④,关联数组
功能:自定义索引;
语法:先声明关联数组
declare -A 关联数组名
数组名=([自定义数组名1]=值1 [自定义数组名2]=值2 ………..)
people=([p1]=li [pi2]=wang [p3]=zhang [p4]="ni ba")
切片
格式:{变量名:起始索引:步长} (注意:步长省略则是截取到末尾,$后面一定要加{})
相关文章:
shell编程基础笔记
目录 echo改字体颜色和字体背景颜色 bash基本功能: 运行方式:推荐使用第二种方法 变量类型 字符串处理: 条件判断:(使用echo $?来判断条件结果,0为true,1为false) 条件语句&a…...
FPGA实现GTP光口视频转USB3.0传输,基于FT601+Aurora 8b/10b编解码架构,提供3套工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案本博已有的FPGA驱动USB通信方案 3、工程详细设计方案工程设计原理框图输入Sensor之-->OV5640摄像头输入Sensor之-->芯片解码的…...
使用 PDF API 合并 PDF 文件
内容来源: 如何在 Mac 上合并 PDF 文件 1. 注册与认证 您可以注册一个免费的 ComPDFKit API 帐户,该帐户允许您在 30 天内免费无限制地处理 1,000 多个文档。 ComPDFKit API 使用 JSON Web Tokens 方法进行安全身份验证。从控制面板获取您的公钥和密钥&…...
Jenkins Nginx Vue项目自动化部署
目录 一、环境准备 1.1 Jenkins搭建 1.2 NVM和Nodejs安装 1.3 Nginx安装 二、Jenkins配置 2.1 相关插件安装 2.2 全局工具安装 2.3 环境变量配置 2.4 邮箱配置(构建后发送邮件) 2.5 任务配置 三、Nginx配置 3.1 配置路由转发 四、部署项目 …...
python代码实现问卷星问卷内容获取并写入word文档保存
以下附完整代码。 import os from tkinter import Tk, simpledialog, messagebox from docx import Document import time import requests import re from tkinter import ttk# 使用 tkinter 创建一个简单的输入框来获取用户输入的问卷链接 root Tk() root.title("问卷…...
C# 2024年Visual Studio实用插件集合
在2024年,Visual Studio作为.NET开发者的首选IDE,其插件生态不断壮大,为开发者提供了更高效、便捷的开发体验。本文将介绍一些实用的Visual Studio插件,特别是针对C#开发者,帮助提升开发效率和代码质量。 1. GitHub C…...
基于PHP的香水销售系统的设计与实现
摘 要 时代科技高速发展的背后,也带动了经济的增加,人们对生活质量的要求也不断提高。香水作为一款在人际交往过程中,给对方留下良好地第一印象的产品,在生活中也可以独自享受其为生活带来的点缀。目前香水市场体量庞大ÿ…...
QT去除窗口边框(无边框)
ch21_TencentMeetingLogin::ch21_TencentMeetingLogin(QWidget *parent): QDialog(parent) {ui.setupUi(this);this->setWindowFlags(Qt::FramelessWindowHint);//去除窗口边框 } 但此时窗口不能拖动且点击任务栏程序图标不能最小化! this->setWindowFlags(Q…...
【k8s】监控metrics-server
metrics-server介绍 Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标,通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。 就像Linux 系统一样…...
「Qt Widget中文示例指南」如何为窗口实现流程布局?(二)
Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文将展示如何为不…...
EditInPlace就地编辑:Dom vs Form
利用Dom和Form实现就地编辑(EditInPlace)功能,两者在实现方式、用户体验和适用场景上有一些区别。下面我将详细解释这些区别: 1. EditInPlace 就地编辑(EditInPlace)是一种用户界面设计模式,允…...
【SCT63142FIB】15W高集成、高效率的无线功率发射PMIC
SCT63142FIB 15W高集成、高效率的无线功率发射PMIC 描述 SCT63142是一款高度集成的电源管理IC,可实现符合WPC规范的高性能,高效率和成本效益的无线电源发送系统,支持高达15W的功率传输,可与无线应用特定控制器或基于通用MCU的发送…...
STM32F4系列单片机新玩法---Micropython--pyBoard
只需要更改main.py文件的内容即可,例程CRTLV 1、流水灯: # main.py -- put your code here! import pyb while(1): for n in range(1,5) ledpyb.LED(n) led.on() pyb.delay(1000) led.off() 2、灯条,可以改变delay值来凸显效果…...
MFC中如何在工具条动态增加菜单
在C:\temp\VCSamples-master\VC2010Samples\MFC\Visual C 2008 Feature Pack\WordPad 这个例子中倒是有在工具条上动态增加菜单的方法,但有个缺陷,必须预先将需要的按钮定死。现将方法总结如下: 效果如下:点击前: 点击…...
行为型模式-迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,主要用于提供一种方法顺序访问一个聚合对象中的各个元素,而不需要暴露其内部表示。这个模式常被用于集合类对象(如列表、数组、图等)的实现中。 模式结构…...
SAP SD学习笔记17 - 投诉处理3 - Credit/Debit Memo依赖,Credit/Debit Memo
上一章讲了 请求书(发票)的取消。 SAP SD学习笔记16 - 请求书的取消 - VF11-CSDN博客 再往上几章,讲了下图里面的返品传票: SAP SD学习笔记14 - 投诉处理1 - 返品处理(退货处理)的流程以及系统实操&#…...
digit_eye开发记录(3): C语言读取MNIST数据集
在前两篇,我们解读了 MNIST 数据集的 IDX 文件格式,并分别用 C 和 Python 做了 读取 MNIST 数据集的实现。 基于 C 的代码稍长,基于 Python 的代码则明显更短,然而它们的共同特点是:依赖了外部库: 基于 C …...
快速学习GO语言总结
干货分享,感谢您的阅读!备注:本博客将自己初步学习GO的总结进行分享,希望大家通过本博客可以在短时间内快速掌握GO的基本程序编码能力,如有错误请留言指正,谢谢! 一、初步了解Go语言 …...
开源多媒体处理工具ffmpeg是什么?如何安装?使用ffmpeg将M3U8格式转换为MP4
目录 一、FFmpeg是什么二、安装FFmpeg(windows)三、将M3U8格式转换为MP4格式 一、FFmpeg是什么 FFmpeg是一款非常强大的开源多媒体处理工具,它几乎可以处理所有类型的视频、音频、字幕以及相关的元数据。 FFmpeg的主要用途包括但不限于&…...
Python面试实战:高效处理海量日志,找出高频IP
Python面试实战:高效处理海量日志,找出高频IP 问题描述 在处理海量服务器日志时,一个常见的需求是统计出现次数最多的IP地址。这不仅有助于分析网站访问流量,还能为安全监控提供有价值的信息。然而,当日志文件过大,无法一次性加载到内存时,如何高效地解决这个问题就成…...
基于Java Springboot蛋糕订购小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…...
Java进程为什么会消失
深夜,办公室里只剩下电脑屏幕的微光。小王正在紧张地盯着生产环境的监控面板,突然发现一个重要的Java应用进程不见了,就像人间蒸发一般。这种情况在Java开发中并不罕见,让我们一起走进这个技术探案,揭开Java进程神秘消…...
继上一篇,设置弹框次数以及自适应图片弹框,部分机型(vivo)老手机不显示的问题
上一篇写的本来测试好多型号都无事, 今天下午公司的战斗机vivo横空冒出… 晕 弹框直接显示都出不来了,现在还有用这种老的机型的,但是没办法咯~ 前端遇到这种兼容性的问题就要勇于解决 主要解决了这几点: // 添加图片加载事件 <imgv-if"imageUrl":src"image…...
【docker】容器卷综合讲解,以及go实现的企业案例
容器卷(Volumes)基础讲解: 容器概念 容器卷(Volumes)是 Docker 提供的一种持久化存储机制,允许容器持久化数据,即使容器被删除或重新创建,数据仍然可以保留。 卷是独立于容器的&…...
八、利用CSS制作导航栏菜单
8.1 水平顶部导航栏 水平菜单导航栏是网站设计中应用范围最广的导航设计,一般放置在页面的顶部。水平导航适用性强,几乎所有类型的网站都可以使用。 如果导航过于普通,无法容纳复杂的信息结构,就需要在内容模块较多的情况…...
windows下安装node.js和pnpm
首先,一定要powershell右键选择管理员身份运行,否则第三个命令报错。 # 安装 fnm (快速 Node 管理器) winget install Schniz.fnm# 配置 fnm 环境 fnm env --use-on-cd | Out-String | Invoke-Expression# 下载并安装 Node.js fnm use --install-if-mis…...
MyBlog(五) -- 用户注册页面完善
文章目录 前言一、用户数据提交1. 表单2. 校验数据3. 模版文件1. wait_start2. user_register 二、验证1. 发送邮件1. 注册163邮箱后登录并设置2. 开启IMAP/SMTP服务, IMAP/SMTP服务3. 新增授权密码 2.邮箱内容3.点击注册4.发送邮件5. 激活账号1. 完善激活功能 -- user_active2…...
NLP任务四大范式的进阶历程:从传统TF-IDF到Prompt-Tuning(提示词微调)
引言:从TF-IDF到Prompt-Tuning(提示词微调),NLP的四次变革 自然语言处理(NLP)技术从最早的手工特征设计到如今的Prompt-Tuning,经历了四个重要阶段。随着技术的不断发展,我们的目标…...
量化交易系统开发-实时行情自动化交易-8.3.开拓者TBQuant平台
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来会对于开拓者TBQuant平台介绍。 …...
第八课 Unity编辑器创建的资源优化_特效篇(Particle System)详解
无论是CPU还是GPU,粒子系统对其的影响面都是不容小觑的。随着项目的重度化和3A化,玩家的口味变挑剔了、游戏玩法复杂度变高了、画面的特效表现变复杂了......所以我们还是更加谨慎地对待粒子系统。 特效(Particle System) 游戏效…...
redis常见数据类型
Redis是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理,支持多种数据类型。 一、数据类型介绍 String(字符串) Redis中最基本的数据类型。可以存储任何类型的数据,包括字符串、数字和二进制…...
【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
1. 漏洞结果 JavaScript 框架或库是一组能轻松生成跨浏览器兼容的 JavaScript 代码的工具和函数。如果网站使用了存在漏洞的 JavaScript 框架或库,攻击者就可以利用此漏洞来劫持用户浏览器,进行挂马、XSS、Cookie劫持等攻击。 1.1 漏洞扫描截图 1.2 具体…...
深入解析 Kubernetes 节点操作:Cordon、Uncordon 和 Drain 的使用与最佳实践
摘要 Kubernetes 是一个用于自动化容器部署、扩展和管理的开源系统,而节点管理是其核心功能之一。cordon、uncordon 和 drain 是 Kubernetes 提供的与节点操作相关的三个重要命令,用于节点的调度控制和维护管理。本文将从概念、命令解析、内部机制和最佳…...
python array矩阵相关操作
目录: 一、判断某个值是否在array二维数组的某列中 二、根据某列中的特定值筛选array数组 三、查找一个元素在二维 array 矩阵中的位置 四、判断array数组中的每个元素是否包含特定的子字符串 一、判断某个值是否在array二维数组的某列中 在 Python 中…...
网络安全——浅谈HTTP协议
HTTP请求 HTTP请求是客户端往服务端发送请求动作,告知服务器自己的要求。 HTTP请求由状态行、请求头、请求正文三部分组成: 状态行:包括请求方式Method、资源路径URL、协议版本Version;请求头:包括一些访问的域名、…...
BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比
BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比 目录 BWO-CNN-BiGRU-Attention白鲸优化算法优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比预测效果基本介绍模型描述程序设计…...
55 基于单片机的方波频率可调
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 采用STC89C52单片机最小系统,设计DAC0832、放大器、与示波器显示方波,四位数码管显示频率,两个按键可调。 二、硬件资源 基于KEIL5编写C代码,PROT…...
SAP SD学习笔记15 - 投诉处理2 - 返品处理流程之 参照请求传票(发票)来生成返品传票
上一章讲了返品处理(退货处理)的流程。 SAP SD学习笔记14 - 投诉处理1 - 返品处理(退货处理)的流程以及系统实操,比如 返品传票;请求Block标记;收到退货之后的处理,请求传票的登录_…...
LWIP和FATFS 实现 FTP 服务端
目录 一、前言 二、LWIP 和 FTP 简介 1.LWIP 2.FTP 三、实现 FTP 服务端的主要步骤 1.初始化 LWIP 2.创建 FTP 服务器任务 3.处理客户端连接 4.实现 FTP 命令处理 5.文件系统操作 6.错误处理和日志记录 四、示例代码 1.创建FTP任务 2. FTP任务代码 3.处理交互数据…...
缓冲区的奥秘:解析数据交错的魔法
目录 一、理解缓存区的好处 (一)直观性的理解 (二)缓存区的好处 二、经典案例分析体会 (一)文件读写流(File I/O Buffering) BufferedOutputStream 和 BufferedWriter 可以加快…...
【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍
数据库基础 本节目标 掌握关系型数据库,数据库的作用掌握在Windows和Linux系统下安装MySQL数据库了解客户端工具的基本使用和SQL分类了解MySQL架构和存储引擎 1. 数据库的安装与配置 1.1 确认MYSQL版本 处理无法在 cmd 中使用 mysql 命令的情况&a…...
如何使用Python解析从淘宝API接口获取到的JSON数据?
基本的 JSON 解析 当从淘宝 API 接口获取到数据后(假设数据存储在变量response_data中),首先要判断数据类型是否为 JSON。如果是,就可以使用 Python 内置的json模块进行解析。示例代码如下: import json # 假设respon…...
Day1 生信新手笔记
生信新手笔记 生信学习第一天笔记打卡。 转录组学中: 上游分析-基于linux,包括质控、过滤、比对、定量; 下游分析-基于R语言,包括差异分析、富集分析、可视化。 1. 级别标题 一个井号加空格 就是一级标题,两个井号加…...
内网穿透步骤
步骤 第一次需要验证token window和linux的方法不同。 然后 启动 cpolar 服务: 在命令窗口中输入 cpolar.exe htttp 8080,启动内网穿透服务。确保命令窗口保持开启状态,以维持穿透效果。 cpolar.exe hhttp 8080 成功后 注意事项 命令窗口…...
docker启动容器,语句名词解释
#启动容器代码docker run -it -d --name dev_aios -v D:\project\aialign:/www/ -v D:\project\data\dev\aios:/myfile/data/dev/aios -w /www/stand-alone-aios/aios -p 9002:9000 --ulimit core0 aialign/python-base:1.0 bash名词解释 docker run: 这是 Docker 的命令&#…...
微服务之短信验证服务配置完后junit单元测试短信发送失败
总之岁月漫长,然而值得等待。 主要是版本冲突问题,具体报错与解决方法如下: 报错前: 启动失败 短信服务测试报错: 解决后: 启动成功 短信服务测试发送成功: 在使用 SpringBoot 开发时&am…...
QSqlTableModel的使用
实例功能 这边使用一个实例显示数据库 demodb 中 employee 数据表的内容,实现编辑、插入、删除的操作,实现数据的排序和记录过滤,还实现 BLOB 类型字段 Photo 中存储照片的显示、导入等操作,运行界面如下图: 在上图中…...
构建高可用系统设计OpenStack、Docker、Mesos和Kubernetes(简称K8s)
如果构建高可用、高并发、高效运维的大型系统 大型系统架构设计包括业务层设计、服务层设计、基础架层设计、存储层设计、网络层协同设计来完成。 一、业务层 根据主要业务范畴的分类和特征提取,抽象出独立的业务系统,分别统计系统的用户角色群体、访…...
CondaValueError: Malformed version string ‘~‘: invalid character(s).
问题描述:在window下使用conda安装任何包都会报错。报错信息是CondaValueError: Malformed version string ~: invalid character(s). 解决办法:把.condarc文件的源地址删除(八成是源地址访问不了了),只保存默认的&am…...
uniapp图片上传预览uni.chooseImage、uni.previewImage
文章目录 1.上传图片2.预览图片 1.上传图片 uni.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照。 App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考plus.camera 微信小程序从基础库 2.21.0 开始, wx.choos…...