当前位置: 首页 > news >正文

linux系统编程中Shell脚本配置,及man test命令手册

Shell脚本配置是指在脚本中设置各种参数、选项和环境,以确保脚本能够根据预期的需求和环境执行。配置可以包括变量设置、环境变量、命令选项和错误处理等。

1. 脚本开头的配置

Shebang 
第一行通常是shebang,它告诉系统使用哪个解释器来执行脚本。例如:
#!/bin/bash
这行代码指示系统使用Bash解释器来运行脚本。

注释
注释用于解释脚本的功能或配置:
#!/bin/bash

# This script performs a backup of the specified directory

2. 变量和常量

定义变量
变量用来存储数据,定义时不需要指定类型:
directory="/path/to/directory"
filename="backup_$(date +%F).tar.gz"

只读变量
使用`readonly`标记变量为只读,防止被修改:
readonly MAX_RETRIES=5

环境变量
设置环境变量以影响脚本的运行环境:
export PATH="/usr/local/bin:$PATH"

3. 配置选项

脚本参数
脚本可以接受命令行参数,使用`$1`, `$2`, ... 来引用这些参数:
#!/bin/bash

input_file="$1"
output_file="$2"

if [ -z "$input_file" ] || [ -z "$output_file" ]; then
    echo "Usage: $0 <input_file> <output_file>"
    exit 1
fi

# 脚本主体

选项处理
可以使用`getopts`来解析命令行选项:
#!/bin/bash

while getopts "d:f:" opt; do
    case $opt in
        d) directory="$OPTARG" ;;
        f) file="$OPTARG" ;;
        *) echo "Usage: $0 [-d directory] [-f file]" ;;
    esac
done

4. 配置文件

使用配置文件
将配置选项存储在外部文件中,并在脚本中读取:
#!/bin/bash

# 读取配置文件
source /path/to/config.conf

# 使用配置参数
echo "Directory is $directory"
echo "Filename is $filename"

配置文件示例 (`config.conf`)
directory="/path/to/directory"
filename="backup_$(date +%F).tar.gz"

5. 错误处理和调试

错误处理 
处理命令的返回值以确保脚本的健壮性:
#!/bin/bash

cp "$source_file" "$destination"
if [ $? -ne 0 ]; then
    echo "Error: Failed to copy file"
    exit 1
fi

调试 
使用`set -x`来显示命令执行过程,有助于调试:


#!/bin/bash

set -x  # 开始调试
echo "Starting the script"
# 你的脚本内容
set +x  # 结束调试

设置严格模式  
使用`set -e`、`set -u` 和 `set -o pipefail`来提高脚本的健壮性:
#!/bin/bash

set -euo pipefail

# 脚本内容
- set -e:遇到错误时退出脚本。
- set -u:使用未初始化的变量时退出脚本。
- set -o pipefail:管道中任何命令失败时退出脚本。

6. 日志记录

输出日志  
将脚本的输出和错误记录到日志文件中:

#!/bin/bash

log_file="/path/to/logfile.log"

exec > >(tee -a "$log_file") 2>&1

echo "Starting script"
# 脚本内容

这里使用了`exec`来重定向标准输出和标准错误到日志文件中,并使用`tee`来将日志同时输出到终端和文件中。

7. 定时任务

使用Cron定时执行脚本
编辑crontab文件来定期运行脚本:


crontab -e


添加定时任务,例如每天凌晨1点运行脚本:

0 1 * * * /path/to/script.sh
 

示例脚本

以下是一个配置化的Shell脚本示例,它包括了参数处理、错误处理、日志记录等功能:


#!/bin/bash

# 配置
log_file="/var/log/myscript.log"
source_dir="/path/to/source"
backup_dir="/path/to/backup"
timestamp=$(date +"%Y-%m-%d_%H-%M-%S")

# 处理输入参数
while getopts "s:b:" opt; do
    case $opt in
        s) source_dir="$OPTARG" ;;
        b) backup_dir="$OPTARG" ;;
        *) echo "Usage: $0 [-s source_dir] [-b backup_dir]" ;;
    esac
done

# 记录日志
exec > >(tee -a "$log_file") 2>&1

echo "Starting backup at $timestamp"

# 执行备份
tar -czf "$backup_dir/backup_$timestamp.tar.gz" "$source_dir"
if [ $? -ne 0 ]; then
    echo "Backup failed"
    exit 1
else
    echo "Backup successful"
fi

在Linux中,`man test` 指的是查看 `test` 命令的手册页。`test` 是一个用于在Shell脚本中执行条件测试的命令,通常用于判断文件属性或比较值。这个命令也可以用 `[` 和 `]` 替代,这两个符号通常用作条件判断。

`test` 命令简介

`test` 命令用于检查文件属性、字符串和整数等条件,并返回一个退出状态码。它的退出状态码(通常是 `$?`)用于指示测试结果:返回 `0` 表示测试条件为真(true),返回 `1` 表示测试条件为假(false)。

基本语法


test EXPRESSION
 

或者使用 `[` 和 `]` 作为替代:


[ EXPRESSION ]
 

常用测试选项

1. 文件测试

- `-e FILE`: 检查文件是否存在。
- `-f FILE`: 检查文件是否存在且为普通文件。
- `-d FILE`: 检查文件是否存在且为目录。
- `-r FILE`: 检查文件是否存在且可读。
- `-w FILE`: 检查文件是否存在且可写。
- `-x FILE`: 检查文件是否存在且可执行。

示例:


if [ -f "/path/to/file" ]; then
    echo "File exists and is a regular file."
else
    echo "File does not exist or is not a regular file."
fi
 

2. 字符串测试

- `-z STRING`: 检查字符串是否为空。
- `-n STRING`: 检查字符串是否非空。
- `STRING1 = STRING2`: 检查两个字符串是否相等。
- `STRING1 != STRING2`: 检查两个字符串是否不相等。

示例:


if [ -z "$var" ]; then
    echo "Variable is empty."
else
    echo "Variable is not empty."
fi
 

3. 整数比较

- `INT1 -eq INT2`: 检查两个整数是否相等。
- `INT1 -ne INT2`: 检查两个整数是否不相等。
- `INT1 -lt INT2`: 检查第一个整数是否小于第二个整数。
- `INT1 -le INT2`: 检查第一个整数是否小于或等于第二个整数。
- `INT1 -gt INT2`: 检查第一个整数是否大于第二个整数。
- `INT1 -ge INT2`: 检查第一个整数是否大于或等于第二个整数。

示例:
a=5
b=10
if [ $a -lt $b ]; then
    echo "$a is less than $b."
else
    echo "$a is not less than $b."
fi

手册页 (`man test`)

你可以使用 `man test` 命令查看 `test` 命令的详细手册页。手册页会包含所有支持的选项和用法示例。要查看手册页,请在终端中运行:
man test

示例脚本

以下是一个使用 `test` 命令的完整Shell脚本示例,用于检查文件属性和变量值:
#!/bin/bash

file="/path/to/file"
var="Hello"

# 检查文件是否存在且为普通文件
if [ -f "$file" ]; then
    echo "File exists and is a regular file."
else
    echo "File does not exist or is not a regular file."
fi

# 检查变量是否为空
if [ -z "$var" ]; then
    echo "Variable is empty."
else
    echo "Variable is not empty."
fi

# 比较两个整数
a=5
b=10
if [ $a -lt $b ]; then
    echo "$a is less than $b."
else
    echo "$a is not less than $b."
fi

在编写Shell脚本时,`test` 命令是一个非常有用的工具,用于条件判断和逻辑控制。

相关文章:

linux系统编程中Shell脚本配置,及man test命令手册

Shell脚本配置是指在脚本中设置各种参数、选项和环境&#xff0c;以确保脚本能够根据预期的需求和环境执行。配置可以包括变量设置、环境变量、命令选项和错误处理等。 1. 脚本开头的配置 Shebang 第一行通常是shebang&#xff0c;它告诉系统使用哪个解释器来执行脚本。例如…...

【康复学习--LeetCode每日一题】572. 另一棵树的子树

题目&#xff1a; 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree …...

OpenAI Function Call实现大模型agent自己判断用工具、上网搜索或直接大模型回答案例

参考: https://blog.csdn.net/weixin_42357472/article/details/140891660?spm=1001.2014.3001.5501 大模型用的deepseek 1)写了两个function,一个是天气工具,一个是搜索工具 2)大模型Function Call自己判断内容属于哪个工具就去调用对应工具 3)如果大模型Function Call…...

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑源-荷不确定性的省间电力现货市场潮流风险概率评估》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…...

JAVA中实现线程安全的三种方式

JAVA中实现线程安全的三种方式 1. 同步代码块2. 同步方法3. ReentrantLock4. 总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1. 同步代码块 使用synchronized关键字加在需要同步的代码块上&#xff0c;并指定一个锁对象。这种方式可以…...

3个二创文案生成器,让文案创作变简单

在当今数字时代&#xff0c;内容创作已经成为了一项非常重要的工作。无论是为了推广产品、营销服务&#xff0c;还是仅仅为了吸引读者&#xff0c;优质的文案都是至关重要的。然而&#xff0c;对于许多人来说&#xff0c;写出令人印象深刻的文案并不容易。这就是为什么二创文案…...

Java 属性拷贝 三种实现方式

第一种 List<OrederPayCustomer> orederPayCustomerList this.list(queryWrapper); List<CustomerResp>customerRespListnew ArrayList<>();for (OrederPayCustomer orederPayCustomer : orederPayCustomerList) {CustomerResp customerResp new Custome…...

C++: 如何把源码编译成SDK提供第三方使用

在我们开发过程中&#xff0c;经常会遇到提供SDK的情况&#xff0c;对于C语言&#xff0c;是可以方便地将源码封装成静态库或者动态库然后打包提供给第三方使用的。这样&#xff0c;一方面可以保护源码&#xff0c;另一方面也简化了对方的使用过程。 目录 一、关于动态库和静态…...

redis详细介绍

Redis是一个开源的、基于内存的高性能键值对数据库&#xff0c;属于NoSQL数据库的一种。它以高性能、丰富的数据结构、持久化特性、复制、集群以及发布/订阅等特性而闻名。以下是Redis的详细介绍&#xff1a; 一、基本介绍 名称&#xff1a;Redis&#xff0c;全称Remote Dicti…...

jar命令

文章目录 jar命令摘要 一、引言二、正文内容2.1 jar解压jar包2.2 重新打成jar包2.3 步骤2.4 sh脚本文件 jar命令 摘要 jar命令 一、引言 jar命令 二、正文内容 2.1 jar解压jar包 \# 解压 jar -xvf test.jar 2.2 重新打成jar包 jar -uvf0 marriage-admin-1.0.0.jar.j…...

CentOS上面的MySQL安装~~~保姆级教程

目录 0.声明 1.下载官网包包 2.新建文件夹&#xff0c;把rpm拖拽进来 3.安装yum源&#xff0c;查看前后变化 4.安装mysql服务 5.查看是否安装成功 6.出现报错的解决方案 7.启动MySQL 8.查看启动服务 9.配置文件 10.重新运行 11.免密码登录 12.再谈配置文件 0.声明…...

数组的复制

需求&#xff1a;现在有一个数组arr{1,2,3}&#xff0c;然后有另外一个数组temp{99,100},现在需要将temp复制到arr。 java public class test1 {public static void main(String[] args) {int arr1[] new int[]{1,2,3};int temp[] new int[]{99,100};arr1 temp;System.out.p…...

Python RPA流程自动化机器人简单案例

RPA&#xff08;Robotic Process Automation&#xff0c;机器人流程自动化&#xff09;是一种通过软件机器人模拟和执行人类用户在计算机上的操作的技术。 下面是pyautogui 键盘操作的常见参数说明&#xff1a; https://blog.csdn.net/wydyzq12/article/details/122008396 以…...

在git中如何忽略.vscode目录?

在Git中&#xff0c;如果你想忽略某个特定的文件或目录&#xff08;比如.vscode目录&#xff09;&#xff0c;你可以通过以下步骤来实现&#xff1a; 创建或编辑.gitignore文件 在项目的根目录下&#xff0c;如果还没有.gitignore文件&#xff0c;你需要创建一个。如果已经有了…...

python脚本:连接数据库,检查直播流是否可用

使用的是MySQL数据库 需要使用mysql-connector-python库来连接MySQL数据库。首先,请确保你已经安装了这个库,如果没有安装,可以通过以下命令安装: pip install mysql-connector-python假设: MySQL数据库已经配置好,并且有一个名为live_streams的表,其中包含至少两列:…...

MFC修改鼠标光标形状

1.新建项目 2.添加资源Cursor 3.添加鼠标移动响应函数&#xff0c;用于显示鼠标光标形状 void C修改鼠标光标View::OnMouseMove(UINT nFlags, CPoint point) {// TODO: 在此添加消息处理程序代码和/或调用默认值CRect rc;GetClientRect(&rc);if (point.x < rc.right / …...

【英语语法】限定性定语从句与非限定性定语从句(先行词概念)

文章目录 英语语法&#xff1a;限定性定语从句与非限定性定语从句详解1. 限定性定语从句1.1 定义与功能1.2 使用关系代词和关系副词示例句子&#xff1a; 1.3 标点和语调 2. 非限定性定语从句2.1 定义与功能2.2 使用关系代词示例句子&#xff1a; 2.3 标点和语调 3. 区别和选择…...

web小游戏开发:2048(完)移动操作及动画效果

web小游戏开发:2048(完)移动操作及动画效果 添加随机数字游戏开始时的初始化显示分数移动和合并获取行列元素下标记录移动轨迹完整的 js小结添加随机数字 书接前文,我们在前边定义了一个 move 方法,暂时先往后放放。 在我们已经初始化好的界面上,我们需要先制作一个出现…...

pythonflaskMYSQL自驾游搜索系统32127-计算机毕业设计项目选题推荐(附源码)

目 录 摘要 1 绪论 1.1研究背景 1.2爬虫技术 1.3flask框架介绍 2 1.4论文结构与章节安排 3 2 自驾游搜索系统分析 4 2.1 可行性分析 4 2.2 系统流程分析 4 2.2.1数据增加流程 5 2.3.2数据修改流程 5 2.3.3数据删除流程 5 2.3 系统功能分析 5 2.3.1 功能性分析 6 2.3.2 非功…...

(学习总结10)C++类和对象1

C类和对象1 一、类的定义1.类定义格式2.访问限定符3. 类域 二、实例化1.实例化概念2.对象大小 三、this指针四、C和C语言实现Stack对比 以下代码环境在 VS2022。 一、类的定义 1.类定义格式 class 为定义类的关键字&#xff0c;Stack 为类的名字&#xff0c; { } 中为类的主体…...

python 中 file.read(), file.readline()和file.readlines()区别和用法

python 中 file.read(), file.readline()和file.readlines()区别和用法 文章目录 python 中 file.read(), file.readline()和file.readlines()区别和用法1. file.read()2. file.readline()3. file.readlines()4. 总结5. 注意事项 file.read(), file.readline(), 和 file.readli…...

车辆出险报告(h5)-车辆出险记录接口-车辆相关接口

接口简介&#xff1a;通过vin及行驶证查询车辆出险、理赔、事故记录接口。查询成功率99%,返回URL地址的查询报告。 不能对返回的报告进行任何的修改&#xff0c;否则由用户自行承担相应的责任 报告结果只保留30天&#xff0c;如需永久保存&#xff0c;请您查询后自行保存 接口地…...

如何在 Next.js 中实现分页

一.介绍 分页功能可将大型数据集划分为可管理的块&#xff0c;从而帮助管理它们。您可以在 Next.js 的服务器端或客户端实现分页。这里有一份精简的入门指南。 1. 服务器端分页 1.1 创建 API 路由 设置 API 路由来处理分页。 // pages/api/posts.js export default async …...

Mockito基础入门

Mockito 快速入门教程 概述 Mockito 是一个流行的Java单元测试Mock框架&#xff0c;用于接口和数据模拟。 依赖安装 <dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artifactId><version>3.12.4</version>…...

o(∩_∩)o设置代理访问博客(五)o(∩_∩)o --使用BeeWare打包应用

背景&#xff1a; 最近了解了一个新的打包框架BeeWare&#xff0c;据说他支持的平台要比nuitka更多。利用之前访问博客的脚本&#xff0c;来尝试一下打包windows应用程序。 BeeWare 从零开始 环境&#xff1a;python -m pip install briefcase 使用pycharm新建了一个名为bee…...

使用GPT-4o mini融合GraphRAG技术进行实战应用

什么是gpt-4o mini OpenAI 推出 GPT-4o mini&#xff0c;这是他们最具成本效益的小型模型。它的定价为每百万输入代币 15 美分&#xff0c;每百万输出代币 60 美分&#xff0c;比之前的 Frontier 型号便宜一个数量级&#xff0c;比 GPT-3.5 Turbo 便宜 60% 以上。目前&#xf…...

嵌入式人工智能(45-基于树莓派4B的扩展板-舵机驱动板PCA9685)

1、简介 智能小车、机械臂、摄像头云台会有多个舵机&#xff0c;而微控制器芯片的PWM输出引脚不够的情况下&#xff0c;就可以用PCA9685&#xff08;16路舵机&#xff09;来解决这一问题。 PCA9685是一款I2C总线控制的16通道LED控制器&#xff0c;专为红/绿/蓝/琥珀&#xff…...

3.11.样式迁移

样式迁移 ​ 使用卷积神经网络&#xff0c;自动的将一个图像中的风格应用在另一图像之上&#xff0c;即样式迁移(style transfer) ​ 为了完成这一过程&#xff0c;我们需要两张输入图像&#xff1a;一张是内容图像&#xff0c;一张是风格图像&#xff0c;随后使用神经网络修…...

Spring统一返回类型中关于String的问题

文章目录 1. 问题铺垫2. 解决方法3. 问题分析4 解决方法解释 1. 问题铺垫 首先设置了以下代码统一处理返回类型 ControllerAdvice public class ResponseAdvice implements ResponseBodyAdvice {Overridepublic boolean supports(MethodParameter returnType, Class converte…...

Python酷库之旅-第三方库Pandas(065)

目录 一、用法精讲 256、pandas.Series.sparse方法 256-1、语法 256-2、参数 256-3、功能 256-4、返回值 256-5、说明 256-6、用法 256-6-1、数据准备 256-6-2、代码示例 256-6-3、结果输出 257、pandas.DataFrame.sparse方法 257-1、语法 257-2、参数 257-3、功…...

Go语言标准库中的双向链表的基本用法

什么是二分查找区间&#xff1f; 什么是链表&#xff1f; 链表节点的代码实现&#xff1a; 链表的遍历&#xff1a; 链表如何插入元素&#xff1f; go语言标准库的链表&#xff1a; 练习代码&#xff1a; package mainimport ("container/list""fm…...

Cocos Creator2D游戏开发(9)-飞机大战(7)-爆炸效果

这个爆炸效果我卡在这里好长时间,视频反复的看, 然后把代码反复的测试,修改,终于给弄出来 视频中这段,作者也是修改了好几次, 跟着做也走了不少弯路; 最后反正弄出来了; 有几个坑; ① 动画体创建位置是enemy_prefab ② enemy_prefab预制体下不用放动画就行; ③ 代码中引用Anima…...

Redis入门概述

Redis 概述 Redis 是速度非常快的非关系型&#xff08;NoSQL&#xff09;基于内存的键值数据库。 键的类型只能为字符串&#xff0c;值可以支持五种数据类型&#xff1a;字符串&#xff08;stirng&#xff09;、列表&#xff08;list&#xff09;、集合(set)、散列表(hash)、有…...

Cursor搭配cmake实现C++程序的编译、运行和调试

Cursor搭配cmake实现C程序的编译、运行和调试 Cursor是一个开源的AI编程编辑器&#xff0c;开源地址https://github.com/getcursor/cursor &#xff0c;它其实是一个集成了Chat-GPT的VS Code。 关于VS Code和VS的对比可以参考这篇文章VS Code 和 Visual Studio 哪个更好&…...

读零信任网络:在不可信网络中构建安全系统09用户信任

1. 用户信任 1.1. 将设备身份和用户身份混为一谈会导致一些显而易见的问题 1.1.1. 特别是当用户拥有多台设备时&#xff0c;而这种情况很普遍 1.1.2. 应该针对不同类型的设备提供相匹配的凭证 1.1.3. 在存在共用终端设备的情况下&#xff0c;所有的这些问题将更加凸显 1.2…...

二叉树的实现 c语言

注&#xff1a;层序所需的队列文件请参考 C语言 实现栈(顺序表)和队列(链表)-CSDN博客 一、 BTree.h 函数包含&#xff1a; // 通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树 // 二叉树销毁 // 二叉树节点个数 // 二叉树叶子节点个数 // 二叉树第k层节点个数 /…...

【Git】如何优雅地使用Git中的tag来管理项目版本

目录 tagtag 和 branch区别操作命令打tag&#xff0c;当前分支标记tag提交到远程服务器删除本地tag删除远程tag切换到特定的tag查看所有tag查看标签详细信息 好书推荐 tag Git中的tag&#xff08;标签&#xff09;用于给项目在特定时间点&#xff08;某个版本发布&#xff09;…...

白骑士的PyCharm教学进阶篇 2.3 测试与自动化

系列目录 上一篇&#xff1a;白骑士的PyCharm教学进阶篇 2.2 高级调试技术 在现代软件开发中&#xff0c;测试和自动化是保证代码质量和项目稳定性的重要环节。PyCharm作为一款强大的Python IDE&#xff0c;提供了丰富的工具来支持单元测试和自动化测试。本篇将详细介绍单元测…...

spark写入redis报错空指针

aused by: java.lang.NullPointerException 1、spark集群 每个executor是否 与redis集群 网络策略是否通 2、写入redis的数据是否 有 null值 需要把null值 转成空字符串 3、可以用 pipleline 并行写数据...

【Material-UI】Autocomplete中的禁用选项:Disabled options

文章目录 一、简介二、基本用法三、进阶用法1. 动态禁用2. 提示禁用原因3. 复杂的禁用条件 四、最佳实践1. 一致性2. 提供反馈3. 优化性能 五、总结 Material-UI的Autocomplete组件提供了丰富的功能&#xff0c;包括禁用特定选项的能力。这一特性对于限制用户选择、提供更好的用…...

力扣287【寻找重复数】

给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常…...

学习笔记一

vector 在创建时指定初始大小和初始值&#xff1a; vector<int> a(5, 1) // 包含 5 个整数的 vector&#xff0c;每个值都为 1 可以使用 push_back 方法向 vector 中添加元素&#xff1a; a.push_back(7) // 将整数 7 添加到 vector 的末尾 可以使用 size(…...

星纪魅族双轮驱动遇阻:AI手机与造车梦能否照进现实?

在科技行业风起云涌的浪潮中&#xff0c;星纪魅族近期的一系列动作引起了广泛关注。从高层换血到全面押注AI&#xff0c;再到宣布造车计划&#xff0c;每一步都显得雄心勃勃&#xff0c;但深入剖析后不难发现&#xff0c;其未来发展之路实则布满荆棘。 星纪魅族选择“All in AI…...

深入理解 C 语言中的联合体

目录 引言 一、 联合体的定义与基本用法 1.联合体的定义 2.基本用法 二、 联合体与结构体的区别 1.结构体 2.联合体 3.对比 三、联合体的优势 1. 节省内存 2. 提高效率 3. 代码简洁性 四、联合体的存储细节 1.内存对齐 2.大小计算 五、联合体的高级用法 1.匿…...

Unity3D 物体圆周运动

Unity3D 实现一个 2D 物体沿着圆周进行运动。 物体圆周运动 前段时间在开发一个小游戏时&#xff0c;需要实现火箭沿着一个圆形轨道进行圆周运动。 以前面试的时候也被问到过这类问题&#xff08;如何让一个 2D 物体做圆周运动&#xff09;&#xff0c;所以还是记录一下实现…...

无人机无人车固态锂电池技术详解

随着无人机和无人车技术的飞速发展&#xff0c;对高性能、高安全性电池的需求日益迫切。固态锂电池作为下一代电池技术的代表&#xff0c;正逐步从实验室走向市场&#xff0c;为无人机和无人车等应用领域带来革命性的变化。相比传统液态锂电池&#xff0c;固态锂电池在能量密度…...

策略模式的一次应用

项目的需求是将一组图像按照相似度分类。 采用了模板匹配计算相似度的实现方式。 #include <opencv2/core.hpp> #include <openev2/core/utility.hpp> #include <opencv2/highqui.hpp> #include <openav2/imgproc.hpp> cv::Mat image matched; double …...

终极指南:3D 数据科学系统和工具

该蓝图分享了 AI 方法、算法、工具、模板和 6 步系统&#xff0c;用于为 3D 模型构建数据科学解决方案&#xff1a;3D 数据采集、分析、建模、可视化和部署。 ​ 3D 数据科学系统的核心组件和交叉学科 欢迎来到雲闪世界。建立 3D 数据科学项目涉及结合数据工程、数据分析和可视…...

Docker Container(容器)

一、概念 容器是镜像的运行实体。镜像是静态的只读文件&#xff0c;而容器带有运行时需要的可写文件层&#xff0c;并且容器中的进程属于运行状态。即容器运行着真正的应用进程。容器有初建、运行、停止、暂停和删除五种状态。 虽然容器的本质是主机上运行的一个进程&#xf…...

确保Apache Flink流处理的数据一致性和可靠性

Apache Flink是一个用于大规模数据流处理的开源框架&#xff0c;它提供了多种机制来保证在分布式环境中数据的一致性和可靠性。在实时流处理中&#xff0c;数据的一致性和可靠性是至关重要的&#xff0c;因为它们直接影响到数据处理结果的准确性和系统的稳定性。本文将详细介绍…...

单月少5700亿 居民存款去哪儿了 流向股市与楼市

11月11日,中国人民银行公布了10月金融统计数据。数据显示,10月新增社会融资1.4万亿,同比少增4483亿。其中,居民贷款新增1600亿,同比多增1946亿,显示出居民贷款有所改善;政府债券融资1.05万亿,同比少增5142亿,对单月社融拖累较大。总量方面,10月末M1同比下降6.1%,降幅…...

广东通报女童被泼开水事件 肇事者未满十四岁不予行政处罚

11月14日,广东乳源瑶族自治县人民政府新闻办公室通报了一起发生在9月29日的校园事件。乳源瑶族自治县乳城镇中心小学六年级学生李某向一名一年级女孩丘某泼洒热水,导致女孩二度烫伤,引起社会广泛关注。事件发生后,韶关市和乳源县领导及相关单位迅速响应,组织力量开展救治和…...

绍伊古与苏-57传奇飞行员同框握手 共聚中国航展

俄罗斯联邦安全会议秘书绍伊古访问中国,并参观了中国航展。在航展现场,他遇到了俄罗斯苏-57飞行员谢尔盖博格丹。这是隐形战机苏-57首次在中国展出。责任编辑:张小花 TT1000...

央视仍不转播国足的比赛

央视仍不转播国足的比赛北京时间11月14日22时,2026年美加墨世界杯亚洲区预选赛18强赛第五轮比赛,中国国家男子足球队将在客场对阵巴林队。 央视仍不转播国足的比赛!中国足协今天上午发布了国足比赛的直播预告海报。海报显示,和此前的比赛一样,央视依然不会转播本场比赛。从…...

特朗普上台后,美国能否摆脱全球战略困境?

文|周八骏特朗普赢得美国大选,上任后能否如其竞选时所承诺&mdash;&mdash;迅速结束俄乌冲突而引导美国摆脱全球战略困境?此议题随即成为美国内部,乃至国际社会最关注的问题之一。首先,就美国内部而言,在美国大选全面投票日的前4天,弗格森(Niall Ferguson)在美国…...

2025年京考公告发布 招录人数小幅增长

北京市公务员局发布了《北京市各级机关2025年度考试录用公务员公告》,宣布2025年京考将于今年11月18日开始报名,公共科目笔试定于12月8日举行。此次考试提供1708个普通职位,计划招录4180人;面向大学生士兵的123个职位将招录227人;针对乡村振兴协理员等服务基层项目人员的3…...