用shell脚本实现一个对数组求和的函数,数组通过实参传递给函数,写一个函数,输出当前用户的uid和gid,并使用变量接收结果
目录
1.实现一个对数组求和的函数,数组通过实参传递给函数
结果为:
2.写一个函数,输出当前用户的uid和id,并使用变量接收结果
结果为:
shell脚本指令前七个网页链接:
八、shell中的分支语句
【1】if···else分支
【2】test指令
1、创建一个文件,给组用户可读权限,所属用户可写权限,其他用户可执行权限,使用if判断文件有哪些权限
2、终端输入年份,判断闰平年(四年一闰,百年不闰,四百年再闰)
3、终端输入一个.sh文件名,判断文件是否存在,如果存在判断文件是否有可执行权限,如果有执行脚本,如果没有添加可执行权限,如果文件不存在,创建脚本文件
4、终端输入一个.c文件名,判断文件中是否有内容,如果有内容编译该文件,如果没有内容删除文件
5、终端输入两个文件名,判断文件的时间戳哪一个更新
【3】case···in语句
1、终端输入学生成绩,判断等级100-90A,90-80B,80-70C,70-60D,其他不及格
2、终端输入一个字符,判断是字母还是数字字符
3、终端输入年,月,判断该月有多少天,1-12以外的月份,输入不合理
总结:
九、循环语句
【1】while
1、求1-100的和,5050
2、终端输入数组,使用while循环,实现数组中元素的求和
3、终端输入行数,打印直角三角形
【2】for
1、求100-1000内的水仙花数,(个位^3+十位^3+百位^3=数本身)
2、定义一个稀疏数组,求数组中元素的和
3、求家目录下目录文件和普通文件个数的和
使用连续列表的情况
【3】select···in
【4】select···in和case···in结合
1、终端输入一个游戏名,让用户选择是否下载,如果用户选择的是Y|YES|y|yes就下载该游戏,N|NO|n|no就不下载该游戏。
十、辅助控制关键字
【1】break
十一、函数
【1】定义
【2】函数的调用
【3】函数如何获取外部参数
【4】获取函数的返回值
【5】没有返回值的函数怎么接收结果
【6】local在函数中的使用
1.实现一个对数组求和的函数,数组通过实参传递给函数
#!/bin/bash
function sumarr()
{sum=0arr=($*)for i in ${arr[*]}do((sum+=i))doneecho "数组的和为:"$sum
}
sumarr 100 100 10 20 30 40
结果为:
2.写一个函数,输出当前用户的uid和id,并使用变量接收结果
#!/bin/bash
function getuidgid()
{uid=`id -u`gid=`id -g`echo "uid为:$uid"echo "gid为:$gid"
}
ugid=`getuidgid`
echo $ugid
结果为:
shell脚本指令前七个网页链接:
https://blog.csdn.net/ck0056/article/details/132745232
八、shell中的分支语句
【1】if···else分支
[]就是test指令
#单分支结构
if [ test语句 ] -----> if test 表达式
then语句块
fi#双分支
if [ test语句 ] -----> if test 表达式
then语句块
else 条件不成立执行的语句块
fi#多分支语句
if [ test语句 ] -----> if test 表达式
then语句块
elif [ test语句 ] ------> elif test 表达式
then条件不成立执行的语句块
fi#!/bin/bash
num1=90
num2=300
#if [ $num1 -le $num2 ]
if test $num1 -le $num2
thenecho "num1<=num2"
fi
【2】test指令
test是一个终端指令,用于条件判断
man test
字符串:------>test对于字符串的判断,需要给字符串加""
string1 = string2:判断字符串1和字符串2是否相等
string1 != string2:判断字符串1和字符串2是否不相等
-n string1:判断字符串1不为空
-z string1:判断字符串1为空整形数据的判断:
-eq:两个数相等
-ne:两个数不相等
-gt:第一个大于第二个数
-ge:第一个数大于等于第二个数
-lt:第一个数小于第二个数
-le:第一个数小于等于第二个数文件相关的操作:
file1 -nt file2:1的时间戳比2更新
file1 -ot file2:1的时间戳比2更旧
file1 -ef file2:1和2有相同的inode号
-b:文件存在且为块设备文件
-c:文件存在且为字符设备文件
-L/-h:文件存在且为软链接文件
-S:文件存在且为套接字文件
-s:文件存在且有内容
-e:文件存在
-f:文件存在且为普通文件
-r:存在且有可读权限
-w:文件存在且有可写权限
-x:文件存在且有可执行权限
1、创建一个文件,给组用户可读权限,所属用户可写权限,其他用户可执行权限,使用if判断文件有哪些权限
#!/bin/bash
touch 1
chmod 241 1
if [ -r 1 ]
thenecho "文件1有可读权限"
fi
if [ -w 1 ]
thenecho "文件1有可写权限"
fi
if [ -x 1 ]
thenecho "文件1有可可执行权限"
fi
2、终端输入年份,判断闰平年(四年一闰,百年不闰,四百年再闰)
#!/bin/bash
read -p "请输入一个年份" year#对年份的判断
#year对4\100和400取余都是算术运算,需要借助于(())\$[]\let\expr
#test指令内不能使用&&和||进行运算,test提供了-a进行逻辑与,-o进行逻辑或
if [ $((year%4)) -eq 0 -a $((year%100)) -ne 0 -o $((year%400)) -eq 0 ]
#if [ $((year%4)) -eq 0 ] && [ $((year%100)) -ne 0 ] || [ $((year%400)) -eq 0 ]
#if [ $((year%4==0&&year%100!=0||year%400==0)) -eq 1 ]
thenecho "$year是一个闰年"
elseecho "$year不是一个闰年"
fi
3、终端输入一个.sh文件名,判断文件是否存在,如果存在判断文件是否有可执行权限,如果有执行脚本,如果没有添加可执行权限,如果文件不存在,创建脚本文件
#!/bin/bash
read -p "请输入.sh文件" var
if [ -e "$var" ]
thenecho "文件存在"if [ -x "$var" ]thenbash $var
else chmod 777 $var
fi
elseecho"文件不存在"touch $var
fi
4、终端输入一个.c文件名,判断文件中是否有内容,如果有内容编译该文件,如果没有内容删除文件
#!/bin/bash
read -p "请输入一个.c文件" filename
if [ -s $filename ] #判断文件是否存在且有内容
thengcc $filename
elseif [ -e $filename ] #如果文件存在thenrm $filenameecho "$filename已删除"else echo "$filename不存在"fi
fi
5、终端输入两个文件名,判断文件的时间戳哪一个更新
#!/bin/bash
read -p "请输入两个文件名" filename1 filename2
if [ $filename1 -nt $filename2 ]#如果条件成立,-nt参数表示前面文件的时间戳更新
thenecho "$filename1更新"
elseecho "$filename2更新"
fi
【3】case···in语句
case $变量名 in常量1)语句;; ------->类似于C中break的作用,;;除了最后一条分之外,都不能省略常量2)语句;;···· 常量n)语句;;*) ------->类似于C中default,但是*表示通配所有情况,只能放在最后语句
esac case···in中常量可能的形式:
1|2|3|4):满足1,2,3,4中任一个即可
[0-9]):满足0-9中任一个
[0-3]|4):满足0-3和4中的任一个
1、终端输入学生成绩,判断等级100-90A,90-80B,80-70C,70-60D,其他不及格
#!/bin/bash
read -p "请输入成绩" score
ret=$((score/10))
: 'case $score in1??|9?)echo "A";;8?)echo "B";;7?)echo "C";;6?)echo "D";;*)echo "不及格"
esac'case $ret in10|9)echo "A";;8)echo B;;7)echo C;;6)echo D;;*)echo "不及格"
esac
2、终端输入一个字符,判断是字母还是数字字符
read -p "请输入一个字符" var
case $var in[0-9])echo "是一个数字";;[A-Z]|[a-z])echo "是一个字母";;*)echo 不是数字也不是字母
esac
3、终端输入年,月,判断该月有多少天,1-12以外的月份,输入不合理
总结:
- case···in语句,判断变量的值,$变量名
- 在shell中;;不能不写,最后一个分支可以不写
- *通配所有情况,如果想使用*表示其他分支的情况,不能把*放在上面
九、循环语句
【1】while
while [ test语句 ] ------>while test 表达式
do循环体
done#!/bin/bash
i=0
while [ $i -lt 5 ]
doecho hello world((i++))
done
1、求1-100的和,5050
2、终端输入数组,使用while循环,实现数组中元素的求和
3、终端输入行数,打印直角三角形
#!/bin/bash
read -p "请输入行数" line
i=1
j=1
while [ $i -le $line ]
doj=1 #每一次进入内层循环前j都从1开始while [ $j -le $i ]doecho -n "*"((j++))doneecho "" #每行输出结束需要换行((i++))
done
【2】for
第一种:类似于C的格式
for ((表达式1;表达式2;表达式3))
do循环体
done第二种:shell中的格式
for 变量名 in 字符串列表
do循环体
donefor i in aa bb cc dd
doecho $i
done执行逻辑:让变量循环遍历,字符串列表中的每一种情况,遍历结束后结束循环,
循环的次数和字符串列表中字符串的个数有关
1、求100-1000内的水仙花数,(个位^3+十位^3+百位^3=数本身)
#!/bin/bash
#for i in `seq 100 999`
for i in {100..999} #{1..3}展开1-3内的每一个数
dox=$((i%10)) #求个位y=$((i/10%10)) #求十位z=$((i/100)) #求百位if [ $((x**3+y**3+z**3)) -eq $i ]thenecho $i是一个水仙花数fidone
2、定义一个稀疏数组,求数组中元素的和
arr=([0]=12 [5]=78 [7]=23)
sum=0
for j in ${arr[*]}
do((sum+=j))
done
echo $sum
3、求家目录下目录文件和普通文件个数的和
#!/bin/bash
fnum=0
dnum=0
for i in `ls ~`
doif [ -d ~/$i ]then((dnum++))fiif [ -f ~/$i ]then((fnum++))fi
done
echo $((dnum+fnum))#!/bin/bash
#var1和var2都是软连接文件
var1=2
var2=test1
#对软连接文件判断是,实际是在判断源文件
if [ -f $var1 ]
thenecho "$var1是一个普通文件"
fiif [ -d $var2 ]
thenecho "$var2是一个目录文件"
fi
使用连续列表的情况
1、seq 起始值 间隔值 终止值 ---->在终端回显,起始到终止值间的连续序列
seq 1 1 100 --->输出1-100
seq 如果后面只有一个数,默认是终止值,起始值和间隔值默认为1
拿到seq的结果需要使用命令置换符
`seq 1 1 100`
2、{1..3} ---->展开1-3内的每一个数,中间是两个.不能多写
【3】select···in
select 变量名 in 选项列表
do语句块
done执行逻辑:
会在终端打印选项列表,让用户选择,用户选择是需要选择对应的序号,
如果用户不输入直接回车,会再打印一次选项列表,
如果选择错误,变量就获取到空值#!/bin/bash
select i in aa bb cc dd
doecho $i
done运行的结果
1) aa
2) bb
3) cc
4) dd
#?如果想要退出select···in语句,直接使用ctrl+c
【4】select···in和case···in结合
#!/bin/bash #select```in和case ```in结合
#可以通过用户的不同选择执行不同的指令
select i in linux wins macos q Q
docase $i inlinux)echo "打开的是Linux系统";;wins)echo "打开的是wins系统";;macos)echo "打开的是macos系统";;q)break;;Q)exit;;*)echo "选择错误"esac
doneecho hello world
1、终端输入一个游戏名,让用户选择是否下载,如果用户选择的是Y|YES|y|yes就下载该游戏,N|NO|n|no就不下载该游戏。
#!/bin/bash
read -p "请输入游戏名" gnameselect i in Y YES y yes N NO n NO
docase $i in Y|YES|y|yes)echo "下载$gname";;N|NO|n|no)echo "不下载$gname"exitesac
done
十、辅助控制关键字
【1】break
C中:退出本层循环
continue n ------->退出n层本次循环
continue 1 ------->1可以不写
#!/bin/bash
for((i=1;i<3;i++))
doecho "进入第一层循环 i=$i*******************"echo for j in `seq 1 1 2`doecho "进入第二层循环 j=$j------------------"echo for k in {1..3}doecho "进入第三层循环 k=$k /"echo if [ $k -eq 2 ]thenecho "准备跳出循环"#break 3 continue 3 fiecho "退出第三层循环 k=$k/"echo doneecho "退出第二层循环 j=$j------------------"echo doneecho "退出第一层循环 i=$i*******************"echo
done
十一、函数
【1】定义
shell中:
function 函数名()
{函数体return 返回值(如果实现函数时有返回值就写return)
}shell中函数的注意事项:
1、function在定义函数时,可以加也可以不加(建议加)
2、()内不能添加任何内容,函数是否有参数根据调用来决定
3、如果函数有返回值,直接在函数的定义中写出return
4、shell中的函数仍然满足先定义后调用的原则,shell中函数的定义和声明不能分开
【2】函数的调用
函数名 实参1 实参2 实参3 ···· (函数有参数的情况)
函数名 (没有参数)
【3】函数如何获取外部参数
仍然通过位置变量获取 ${n}脚本的外部传参和函数的外部传参互不干扰:
如果在函数中使用位置变量获取到的就是函数的外部参数,
如果在脚本中使用位置变量获取到的就是脚本的外部参数,$0只能获取脚本名
【4】获取函数的返回值
$? 获取函数的返回值 ----->使用$?的上一条指令一定是函数的调用
$?的本质是获取到上一条指令的执行结果,
#!/bin/bash
function fun()
{echo hello world
}function add()
{echo $(($1+$2))echo $0a=258return $a #返回值只能返回0-255之中的数
}
add 12 34
var=$? #使用$?接收函数的返回值
echo $var
echo $a
【5】没有返回值的函数怎么接收结果
如果函数没有返回值,但是有输出语句,可以使用命令置换符接收#!/bin/bash
function fun()
{echo hello world
}a=90
function add()
{#echo $(($1+$2))#echo $0a=258return $a #返回值只能返回0-255之中的数
}
: 'add 12 34
var=$? #使用$?接收函数的返回值
echo $var
echo $a #可以访问a的值,a是一个全局变量
'
#如何接受fun函数的结果
ret=`fun`
echo $ret #代码只有1行输出,fun中的输出已经被命令置换符接收了
add
echo $a #258,因为a在函数内被改变了
【6】local在函数中的使用
#!/bin/bash
function fun()
{echo hello world
}a=90
function add()
{#echo $(($1+$2))#echo $0a=258local b=80 #被定义成了一个局部变量echo $bunset b #unset是可以清空局部变量echo $breturn $a #返回值只能返回0-255之中的数
}
: 'add 12 34
var=$? #使用$?接收函数的返回值
echo $var
echo $a #可以访问a的值,a是一个全局变量
'
#如何接受fun函数的结果
ret=`fun`
echo $ret #代码只有1行输出,fun中的输出已经被命令置换符接收了
add
echo $a #258,因为a在函数内被改变了
echo $b #空行,因为b在函数内是一个loacl类型的变量,局部变量
相关文章:

用shell脚本实现一个对数组求和的函数,数组通过实参传递给函数,写一个函数,输出当前用户的uid和gid,并使用变量接收结果
目录 1.实现一个对数组求和的函数,数组通过实参传递给函数 结果为: 2.写一个函数,输出当前用户的uid和id,并使用变量接收结果 结果为: shell脚本指令前七个网页链接: 八、shell中的分支语句 【1】ife…...

运算符,switch
目录 算术运算符 逻辑运算符 强制类型转换 自增自减运算符 编辑 三目运算符 A?B:C 逗号表达式 switch 算术运算符 除法的运算结果和运算对象的数据类型有关,两个都是int商就是int,被除数或者除数只要有一个是浮点型数据,…...

运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar
朋友 我当你一秒朋友 朋友 我当你一世朋友 奇怪 过去再不堪回首 怀缅 时时其实还有 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar 基本可以断定,是jar不完整导致的。不完整!!!记住关键字 检查1: …...
在找工作时的准备工作:结合现状,针对意向企业做好充分准备
在寻找工作时,充分准备是非常重要的。不仅要了解自己的现状和能力,还需要对意向企业进行深入了解,并提前准备好与该企业相关的技能和知识。尤其对于程序员来说,在面试IT技术岗位时,以下技巧可能会对你有所帮助…...

微服务·数据一致-事务与分布式事务
微服务数据一致-事务与分布式事务 概述 事务是计算机科学和数据库管理中的一个关键概念,用于确保数据的一致性和可靠想。事务管理是大多数应用程序和数据库系统中不可或缺的一部分。分布式事务扩展了事务的概念,用于多个分布式系统和服务的数据一致性管…...

GO语言篇之CGO
GO语言篇之CGO 文章目录 GO语言篇之CGO前言C代码嵌入GO代码C文件嵌入GO代码缺点 前言 Go语言可以通过内置的CGO调用C语言接口,从而实现C语言代码的交互,CGO提供了一种将Go代码嵌入到C代码中,或者从Go代码中调用C函数的方法 C代码嵌入GO代码…...

LVS负载均衡群集(NAT模式、IP隧道模式、DR模式)
目录 一、集群 1.1 含义即特点 1.2 群集的类型 1.3 LVS 的三种工作模式: 1.4 LVS 调度算法 1.5 负载均衡群集的结构 1.6 ipvsadm 工具 二、NAT模式 LVS-NAT模式配置步骤: 实例: 配置NFS服务器192.168.20.100 配置web1服务器192.168…...

PCL 使用克拉默法则进行三点定圆(二维)
目录 一、算法原理二、代码实现三、结果展示四、参考链接五、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 见:使用克拉默法则进行三点定圆(二维) 二、代码实现 #include <iostream>...
MCAL实战二(S32K324-NXP EB tresos GPT驱动配置详解)
目录 前言 一、配置之前 第一步 找时钟源 第二步 配置MCU时钟 二、开始配置 第一步 新建时钟参考点 第二步 硬件通道使能 第三步 配置连接 <...
Python 图形化界面基础篇:什么是 Tkinter 以及为什么选择它
Python 图形化界面基础篇:什么是 Tkinter 以及为什么选择它 引言第一部分:什么是 Tkinter? 1. 跨平台性2. Python 标准库的一部分3. 易学易用4. 社区和资源 第二部分:为什么选择 Tkinter? 1. 简单易用2. 跨平台兼容性3…...

Learning From Data 中英文对照 1.THE LEARNING PROBLEM (第7页)
为了简化感知器公式的表示法,我们将把偏差aaWpb与其他权重合并到一个向量中[wo,1,。…,wd]“,其中T表示向量的转置,所以w是acolumn向量,我们也将x作为列向量,并将其修改为x[o&#x…...

自己编译静态ffmpeg freetype2 not found问题解决
整理好依赖的ffmpeg仓库地址: https://github.com/pyke369/sffmpeg 报错:ERROR: freetype2 not found using pkg-config 网上查询说是需要安装freetype-devel sudo apt install libfreetype6-dev 安装后还是报一样的错,实…...

基于 Python 的音乐流派分类
音乐就像一面镜子,它可以告诉人们很多关于你是谁,你关心什么,不管你喜欢与否。我们喜欢说“you are what you stream” - Spotify Spotify 拥有 260 亿美元的净资产,是如今很受欢迎的音乐流媒体平台。它目前在其数据库中拥有数百…...
代码随想录训练营第49天|121.买卖股票的最佳时机,122.买卖股票的最佳时机II
代码随想录训练营第49天|121.买卖股票的最佳时机,122.买卖股票的最佳时机II 121.买卖股票的最佳时机文章思路代码 122.买卖股票的最佳时机II文章思路代码 总结 121.买卖股票的最佳时机 文章 代码随想录|0121.买卖股票的最佳时机 思路 维护一个历史最低价&#x…...

1-3 AUTOSAR软件架构
目录 一、简介 二、基础软件层 BSW 2.1 微控制器抽象层 2.2 ECU抽象层 2.3 复杂的驱动程序 2.4 服务层 三、运行时环境 RTE 四、应用软件层 SWC 一、简介 分层架构是实现软硬件分离的关键,它使汽车嵌入式系统控制软件开发者摆脱了以往 ECU 软件开发与验证时…...

Dajngo02_第一个Django案例
Dajngo02_第一个Django案例 经过之前学习,我们已经可以创建Django环境 现在开始尝试快速使用Django开发一个案例 案例:利用Django实现一个查看当前时间的web页面。 在django中要提供数据展示给用户,一般情况下我们需要完成3个步骤: 在urls.…...

R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验可视化...
全文链接:https://tecdat.cn/?p33609 Reaven和Miller(1979)研究了145名非肥胖成年人的葡萄糖耐量和胰岛素血液化学指标之间的关系。他们使用斯坦福线性加速器中心的PRIM9系统将数据可视化为3D,并发现了一个奇特的图案,…...

有效回文字符串(Valid palindrome)
题目描述 思路分析 代码实践 java: public class Solutation1 {//定义一个方法,判断是否是有效数字或者字母private static boolean isValid(char c) {//如果不是字母或者数字,那就返回一个flase//这里调用了Character类里面的方法return Character.i…...
9月9日,每日信息差
今天是2023年9月9日,以下是为您准备的12条信息差 第一、前晨汽车动力电池项目落地厦门,第二十届中国国际投资贸易洽谈会于2023年9月8日在福建省厦门市开幕。会上,前晨汽车科技有限公司与福建省厦门市集美区进行了前晨汽车动力电池项目签约&a…...

Java——》synchronized编译
推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
Python第七周作业
Python第七周作业 文章目录 Python第七周作业 1.使用open以只读模式打开文件data.txt,并逐行打印内容 2.使用pathlib模块获取当前脚本的绝对路径,并创建logs目录(若不存在) 3.递归遍历目录data,输出所有.csv文件的路径…...

C++中vector类型的介绍和使用
文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...