目录

前言

数值型 for 循环

语法格式

示例:打印 1 到 5

示例:打印5次Hello World

示例:计算 1 到 100 的累加和

遍历型 for 循环

语法格式

示例:遍历字符串列表

示例:遍历数组

示例:遍历文件列表

示例:这边会给一个IP地址的文件(ipddr.txt)需要 ping 文件中的IP(主机)判断是否能通

示例:统计 /var/log 有多少个文件,并且显示这些文件名

示例:需要ping 通 某个网段  机器  并且 输出 通和不通 反馈结果

示例:九九乘法表

while循环

条件判断型

典型示例

示例:实时监控httpd的运行状态

基本语法

case循环

快速示例

实用技巧

示例:设置系统开机、关机和重启

示例:用 case 编写一个查看  cpu   内存  硬盘 资源使用情况

总结

前言

在信息化高速发展的今天,服务器与终端设备的稳定运行已成为企业业务连续性的命脉。面对日益复杂的系统环境,运维人员需要随时掌握 CPU、磁盘、内存三大核心资源的实时状态,以便在性能瓶颈或故障萌芽阶段即可精准干预。然而,传统命令行工具虽然功能强大,却存在记忆负担高、操作路径长、输出可读性差等问题,极易在紧急排障时贻误战机。为此,我们设计了一款轻量级 Shell 交互脚本,将 top、df、free 等底层指令封装成一键式菜单,既保留原生命令的详尽数据,又通过友好提示与编号选择显著降低使用门槛。脚本遵循 POSIX 标准,兼容绝大多数 Linux 发行版,可直接运行于生产服务器、容器或虚拟机,真正做到了“开箱即用”。接下来,让我们一起体验它在日常巡检中所带来的效率跃升。


数值型 for 循环

语法格式

bash

复制

for ((初始值; 限制条件; 步长))
do循环体代码
done
  • 初始值:循环变量的初始值。

  • 限制条件:循环继续执行的条件。

  • 步长:每次循环后循环变量的增量或减量。

示例:打印 1 到 5

bash

复制

#!/bin/bashfor ((i=1; i<=5; i++))
doecho "当前数字: $i"
done

输出结果:

复制

当前数字: 1
当前数字: 2
当前数字: 3
当前数字: 4
当前数字: 5

示例:打印5次Hello World

# shell脚本
for ((i=0;i<5;i++))
doecho "$i - Hello World"
done# 测试
[root@localhost shelldemo]# sh dome8.sh 
0 - Hello World
1 - Hello World
2 - Hello World
3 - Hello World
4 - Hello World

示例:计算 1 到 100 的累加和

bash

复制

#!/bin/bashcount=0
for((i=0;i<=100;i++))
docount=$(($count + $i));
doneecho "累加的结果是:${count}";# 测试
[root@localhost shelldemo]# sh dome9.sh 
累加的结果是:5050

输出结果:

1 到 10 的累加和为: 55


遍历型 for 循环

语法格式

bash

复制

for 变量名 in 数据1 数据2 数据3 ...
do循环体代码
done
  • 变量名:依次取数据集合中的每个值。

  • 数据集合:可以是显式列出的数据,也可以是数组、命令输出等。

示例:遍历字符串列表

bash

复制

#!/bin/bashfor animal in cat dog elephant
doecho "动物名称: $animal"
done

输出结果:

复制

动物名称: cat
动物名称: dog
动物名称: elephant

示例:遍历数组

bash

复制

#!/bin/bashmy_array=(A B C D)for element in ${my_array[@]}
doecho "数组元素: $element"
done

输出结果:

复制

数组元素: A
数组元素: B
数组元素: C
数组元素: D

示例:遍历文件列表

bash

复制

#!/bin/bashfor file in $(ls /root/shelldemo)
doecho "文件名: $file"
done

输出结果:

复制

文件名: file1.sh
文件名: file2.sh
文件名: file3.sh

示例:这边会给一个IP地址的文件(ipddr.txt)需要 ping 文件中的IP(主机)判断是否能通

# shell脚本
HT_IP=$(< ./ip.txt)
#for循环
for ip in $HT_IP
#ping
doping -c 3 -i 0.5 -W 2 $ip &>/dev/nullif [ $? -eq 0 ]; thenecho "$ip is up"elseecho "$ip is down"fi
#输出结果
done# 测试
[root@localhost shelldemo]# sh dome10.sh 
192.168.10.101 is up
192.168.10.102 is down
192.168.10.103 is down
192.168.10.104 is down
192.168.10.105 is down
192.168.10.106 is up
192.168.10.1 is up

示例:统计 /var/log 有多少个文件,并且显示这些文件名

# shell脚本
# 将所有的文件列表用一个变量手记起来
file_list=$(ls -r /var/log/*);
count= 0
# for遍历,判断是否存在文件
for file in $file_list
# 如果存在的话,+1,并打印
doif [ -f $file ]; thenecho "$file是一个文件"let count++	fi
doneecho "/var/log文件夹下面一共有$count个文件"# 测试
[root@localhost shelldemo]# sh dome10.sh 
192.168.10.101 is up
192.168.10.102 is down
192.168.10.103 is down
192.168.10.104 is down
192.168.10.105 is down
192.168.10.106 is up
192.168.10.1 is up
[root@localhost shelldemo]# vim dome10.sh
[root@localhost shelldemo]# vim dome11.sh
[root@localhost shelldemo]# chmod +x dome11.sh
[root@localhost shelldemo]# sh dome11.sh 
dome11.sh:行3: 0: 未找到命令
/var/log/yum.log是一个文件
/var/log/Xorg.9.log是一个文件
/var/log/Xorg.0.log.old是一个文件
/var/log/Xorg.0.log是一个文件
/var/log/wtmp是一个文件
/var/log/wpa_supplicant.log是一个文件
/var/log/vmware-vmtoolsd-root.log是一个文件
/var/log/vmware-vmsvc-root.log是一个文件
/var/log/vmware-vgauthsvc.log.0是一个文件
/var/log/vmware-network.log是一个文件
/var/log/vmware-network.9.log是一个文件
/var/log/vmware-network.8.log是一个文件
/var/log/vmware-network.7.log是一个文件
/var/log/vmware-network.6.log是一个文件
/var/log/vmware-network.5.log是一个文件
/var/log/vmware-network.4.log是一个文件
/var/log/vmware-network.3.log是一个文件
/var/log/vmware-network.2.log是一个文件
/var/log/vmware-network.1.log是一个文件
/var/log/tallylog是一个文件
/var/log/spooler-20250827是一个文件
/var/log/spooler-20250817是一个文件
/var/log/spooler-20250810是一个文件
/var/log/spooler是一个文件
/var/log/secure-20250827是一个文件
/var/log/secure-20250817是一个文件
/var/log/secure-20250810是一个文件
/var/log/secure是一个文件
/var/log/mysqld.log是一个文件
/var/log/messages-20250827是一个文件
/var/log/messages-20250817是一个文件
/var/log/messages-20250810是一个文件
/var/log/messages是一个文件
/var/log/maillog-20250827是一个文件
/var/log/maillog-20250817是一个文件
/var/log/maillog-20250810是一个文件
/var/log/maillog是一个文件
/var/log/lastlog是一个文件
/var/log/grubby_prune_debug是一个文件
/var/log/firewalld是一个文件
/var/log/dmesg.old是一个文件
/var/log/dmesg是一个文件
/var/log/cron-20250827是一个文件
/var/log/cron-20250817是一个文件
/var/log/cron-20250810是一个文件
/var/log/cron是一个文件
/var/log/btmp是一个文件
/var/log/boot.log-20250830是一个文件
/var/log/boot.log-20250829是一个文件
/var/log/boot.log-20250827是一个文件
/var/log/boot.log-20250817是一个文件
/var/log/boot.log-20250816是一个文件
/var/log/boot.log-20250815是一个文件
/var/log/boot.log-20250814是一个文件
/var/log/boot.log是一个文件
/var/log文件夹下面一共有55个文件

示例:需要ping 通 某个网段  机器  并且 输出 通和不通 反馈结果

# shell脚本
# 交互式写一个网段
read -p "检查网段:" ip
# ping一下
ping -c 3 -i 0.5 -W 1 $ip >/dev/null 2>&1
# 用if判断
if [ $? -eq 0 ]; thenecho "$ip可以ping通">>ping.txt
elseecho "$ip不可以ping通">>ping.txt
fi# 测试
# 192.168.66.12不可能连接通
[root@localhost shelldemo]# sh dome12.sh 
检查网段:192.168.66.12
[root@localhost shelldemo]# cat ping.txt
192.168.10.106可以ping通
192.168.66.12不可以ping通

示例:九九乘法表

# 遍历i从1到9
for i in $(seq 9);
do
# 遍历j从1到ifor j in $(seq $i);doecho -n "$i*$j=$((i*j)) "doneecho -e "\n"
done# 测试
[root@localhost shelldemo]# sh dome13.sh 
1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

示例:随机生成一个15位的密码

# shell脚本
# 随机生成一个10位数的密码
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
# 列出key的字符串数目
num=${#key}
# 遍历
for i in $(seq 15); doindex=$[RANDOM%$num]password=$password${key:$index:1}
doneecho "密码是$password"# 测试
[root@localhost shelldemo]# sh dome14.sh 
密码是aMcDjfRetHA2Wi1
[root@localhost shelldemo]# sh dome14.sh 
密码是sZdzcxaLMzUAnis
[root@localhost shelldemo]# sh dome14.sh 
密码是4zQTx9YS4kWkBSm

while循环

条件判断型

适合「达到某个条件就停止」的场景。

bash

while [ 条件表达式 ]
do命令# 必须修改循环条件,否则死循环
done

示例:等待用户输入 yes/YES

# shell脚本
while [ "$y" != "yes" -a "$y" != "YES" ]do echo "请输入yes/YES停止循环"read y
doneecho "循环已经停止"# 测试[root@localhost shelldemo]# sh dome15.sh 
请输入yes/YES停止循环
qwerty
请输入yes/YES停止循环
fd
请输入yes/YES停止循环
fghjk
请输入yes/YES停止循环
hgfd
请输入yes/YES停止循环
gfx
请输入yes/YES停止循环
456789
请输入yes/YES停止循环
resw
请输入yes/YES停止循环
9ok,
请输入yes/YES停止循环
fds
请输入yes/YES停止循环
yes
循环已经停止
  1. 数值运算型
    用 Bash 的算术表达式 (( ))let,实现类 C 的循环。

bash

# shell脚本
i=1
while(($i<3))
doecho $ilet i++  # 或者((i++))
done# 测试
[root@localhost shelldemo]# sh dome16.sh 
1
2
  1. 无限循环(死循环)
    需要内部用 breakexit 退出。

bash

while true
doread -p "请输入字符串:" str[ "$str" == "quit" ] && exit 0
done

示例:死循环

# shell脚本
while true 
doecho "请输入字符串:"read yif [ "$y" == "yes" ]; thenexit 0 # 退出fi
done# 测试
[root@localhost shelldemo]# chmod dome17.sh 
chmod: "dome17.sh" 后缺少操作数
Try 'chmod --help' for more information.
[root@localhost shelldemo]# chmod +x dome17.sh 
[root@localhost shelldemo]# sh dome17.sh 
请输入字符串:
sdfg
请输入字符串:
xcv
请输入字符串:
oiug
请输入字符串:
cv
请输入字符串:
456
请输入字符串:
poih
请输入字符串:
xf
请输入字符串:
yea^Hs^H^[[3~^H
请输入字符串:
yes                    # 已退出

典型示例

  1. 计算 1…10 累加和

bash

count=0
num=1
while (( num <= 10 ))
docount=$(( count + num ))((num++))
done
echo "1-10 累加和:$count"
  1. 猜数字游戏(节选 while 片段)

num=$[RANDOM%100+1]
while true
doread -p "猜 1-100 的数:" caiif [ $cai -eq $num ]; thenecho "恭喜,猜对了!"exit 0elif [ $cai -gt $num ]; thenecho "猜大了"elseecho "猜小了"fi
done

示例:实时监控httpd的运行状态

# shell脚本
while ps -aux|grep httpd|grep -v grep &>/dev/null
doecho "httpd正在运行"sleep 2	
doneecho "httpd不在运行"# 测试
# 此时httpd开启
[root@localhost shelldemo]# sh dome20.sh
httpd正在运行
httpd正在运行
httpd正在运行
httpd正在运行
httpd正在运行
httpd正在运行
httpd正在运行
httpd正在运行
...
# 此时关闭httpd
[root@localhost shelldemo]# sh dome20.sh
httpd不在运行

基本语法

case $变量 in模式1)命令1;;模式2)命令2;;*)              # 通配符,相当于 default默认命令;;
esac    # 反写 case,表示结束
  • 每个分支必须以右括号 ) 结束。

  • 每个分支命令块以 ;; 结束。

  • 支持通配符:* 匹配任意字符,? 匹配单个字符,| 表示“或”。


case循环

快速示例

bash

#!/bin/bash
case $1 in"hello")echo "Hello World!";;"test")echo "testing...";;"")echo "$0 没有参数";;*)                 # 其余任何输入echo "默认分支";;
esac

运行示例

$ ./demo.sh hello   → Hello World!
$ ./demo.sh test    → testing...
$ ./demo.sh         → ./demo.sh 没有参数
$ ./demo.sh abc     → 默认分支

实用技巧

  1. 多模式匹配

    bash
    case $opt iny|Y|yes|YES) echo "确认" ;;n|N|no|NO)   echo "取消" ;;
    esac
  2. 模式里可包含通配符

    bash
    case $filename in*.tar.gz)  tar -zxf "$filename" ;;*.zip)     unzip "$filename" ;;
    esac
  3. read 搭配做简单菜单

    bash
    read -p "选择操作[start|stop|restart]: " action
    case $action instart)  systemctl start nginx ;;stop)   systemctl stop  nginx ;;restart)systemctl restart nginx ;;*)      echo "未知操作" ;;
    esac

示例:设置系统开机、关机和重启

# shell脚本
case $1 in
"start")
systemctl start httpd.service
echo "服务已开启"
;;"stop")
systemctl stop httpd.service
echo "服务已关闭"
;;"restart")
systemctl stop httpd.service
systemctl start httpd.service
echo "服务已重启"
;;*)
echo "服务不存在,请输入正确的服务 start stop restart"
;;
esac

测试结果:

[root@localhost shelldemo]# sh dome18.sh start
服务已开启
[root@localhost shelldemo]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: active (running) since 六 2025-08-30 16:50:18 CST; 12s agoDocs: man:httpd(8)man:apachectl(8)Main PID: 10702 (httpd)Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"Tasks: 6CGroup: /system.slice/httpd.service├─10702 /usr/sbin/httpd -DFOREGROUND├─10706 /usr/sbin/httpd -DFOREGROUND├─10707 /usr/sbin/httpd -DFOREGROUND├─10708 /usr/sbin/httpd -DFOREGROUND├─10709 /usr/sbin/httpd -DFOREGROUND└─10710 /usr/sbin/httpd -DFOREGROUND8月 30 16:50:18 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
8月 30 16:50:18 localhost.localdomain httpd[10702]: AH00558: httpd: Could not reliably determine the server's fully qualifie...ssage
8月 30 16:50:18 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost shelldemo]# sh dome18.sh stop
服务已关闭
[root@localhost shelldemo]# systemctl status httpd.service 
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: inactive (dead)Docs: man:httpd(8)man:apachectl(8)8月 30 16:50:18 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
8月 30 16:50:18 localhost.localdomain httpd[10702]: AH00558: httpd: Could not reliably determine the server's fully qualifie...ssage
8月 30 16:50:18 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
8月 30 16:50:38 localhost.localdomain systemd[1]: Stopping The Apache HTTP Server...
8月 30 16:50:39 localhost.localdomain systemd[1]: Stopped The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost shelldemo]# sh dome18.sh asdfghj
服务不存在,请输入正确的服务 start stop restart

示例:用 case 编写一个查看  cpu   内存  硬盘 资源使用情况

# shell脚本
# 提示查看用户信息
echo "请查看用户信息"
echo "1.CPU的使用情况"
echo "2.磁盘的使用情况"
echo "3.内存的使用情况"
echo "4.退出"
# 用户交互
read -p "请输入选项1、2、3、4:" de
# case语句
case $de in
"1")
top -bn1|grep Cpu
;;"2")
df -h
;;"3")
free -m
;;"4")
exit 0
;;*)
echo "请输入正确的设备1、2、3、4"
;;esac# 运行
[root@localhost shelldemo]# sh dome22.sh 
请查看用户信息
1.CPU的使用情况
2.磁盘的使用情况
3.内存的使用情况
4.退出
请输入选项1、2、3、4:1
%Cpu(s):  1.9 us, 20.8 sy,  0.0 ni, 77.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
[root@localhost shelldemo]# sh dome22.sh 
请查看用户信息
1.CPU的使用情况
2.磁盘的使用情况
3.内存的使用情况
4.退出
请输入选项1、2、3、4:3total        used        free      shared  buff/cache   available
Mem:           3770        1273         819          49        1677        2207
Swap:          3967           0        3967
[root@localhost shelldemo]# sh dome22.sh 
请查看用户信息
1.CPU的使用情况
2.磁盘的使用情况
3.内存的使用情况
4.退出
请输入选项1、2、3、4:4

总结

通过上述脚本实践,我们深刻体会到“简单即是力量”的运维哲学:只需三十余行代码,便能把晦涩的系统指标转化为清晰易读的管理视图。用户仅需输入 1、2、3、4 即可在 CPU 负载、磁盘容量、内存占用与程序退出之间自由切换,无需再背冗长参数,也不必担心误操作带来的风险。脚本在真实环境中已验证可行,输出格式与系统原生工具保持一致,方便直接粘贴到监控平台或故障工单。未来可进一步扩展:加入循环菜单实现连续查询、用颜色高亮关键阈值、将结果重定向到日志文件,甚至结合 cron 定时执行,实现无人值守巡检。希望这段示例能为正在构建自动化运维体系的同行提供灵感,也期待社区共同迭代,让 Shell 脚本在 DevOps 时代继续焕发活力。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:创建堆(或者叫“堆化”,Heapify)

目录 最直观的思路 更优化的思路&#xff08;自底向上的构建&#xff09; 第一步&#xff1a;重新审视问题 第二步&#xff1a;找到规律&#xff0c;形成策略 用一个实例来推演 第三步&#xff1a;编写代码 总结与分析 我们来深入探讨“创建堆”&#xff08;或者叫“堆化…

基于 GPT-OSS 的成人自考口语评测 API 开发全记录

1️⃣ 需求与指标 在项目启动前&#xff0c;我们设定了核心指标&#xff1a; 字错率&#xff08;WER&#xff09;< 5%响应延迟 < 800 ms高可用、可扩展 这些指标将贯穿整个开发和测试流程。 2️⃣ 数据准备 准备训练数据是关键步骤&#xff0c;我们使用了 1k 条自考口…

Linux初始——基础指令篇

Linux常用指令pwdlscdtouchmkdirrmmancpmvcatmorelesswhichwhereisaliasgrepfilezip/unzip 指令rzsztarpwd 在xshell中输入pwd并回车&#xff0c;将输出当前用户所存在的目录位置 可看到当前用户是在/home/hhw这个目录下 ls 在xshell中输入ls会显示当前目录所包含的文件 其中…

Vue-24-利用Vue3的element-plus库实现树形结构数据展示

文章目录 1 项目启动 1.1 创建和启动项目(vite+vue) 1.2 清理不需要的代码 1.3 下载必备的依赖(element-plus) 1.4 完整引入并注册(main.sj) 1.5 设置@别名(vite.config.js) 2 el-tree树形控件 2.1 TreeComponents.vue 2.1.1 模板部分 2.1.2 类型定义(Tree) 2.1.3 树形数据(dat…

Kubernetes 部署与发布完全指南:从 Pod 到高级发布策略

引言:告别手动,拥抱声明式 在传统的部署流程中,我们常常需要手动执行一系列命令:SSH 到服务器、拉取新代码、编译、重启服务、检查日志、处理错误…这个过程不仅繁琐低效,而且极易出错,难以保证环境的一致性。 Kubernetes 彻底改变了这一切。它通过一种 “声明式” 的模…

支持向量机核心知识总结

一、核心基础概念核心目标&#xff1a;在样本空间中找到划分超平面&#xff0c;将不同类别样本分开&#xff0c;且该超平面对训练样本局部扰动的 “容忍性” 最优&#xff08;即抗干扰能力强&#xff09;。超平面定义超平面是 n 维空间中的 n-1 维子空间&#xff0c;是 SVM 分类…

Spark学习记录

1、Spark基础介绍 1.1、Spark基础概念 Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎 1.2、Spark运行架构 运行过程&#xff1a; Driver 执行用户程序&#xff08;Application&#xff09;的main()方法并创建 SparkContext&#xff0c;与 Cluster Manager 建…

二进制方式安装部署 Logstash

背景说明 Logstash 是一个开源的数据收集和处理引擎&#xff0c;是 Elastic Stack 的重要组件之一。在本方案中&#xff0c;我们使用 Logstash 作为 Kubernetes 集群日志收集的关键组件&#xff0c;主要用于&#xff1a; 从 Kafka 消费各服务的日志数据对日志数据进行过滤和转…

如何用 Kotlin 在 Android 手机开发一个计算器

使用 Kotlin 开发 Android 计算器1. 创建新项目 打开 Android Studio&#xff0c;选择新建项目&#xff0c;模板选择 "Empty Activity"&#xff0c;语言选择 Kotlin&#xff0c;确保最低 API 级别为 21 或更高。2. 设计用户界面 在 res/layout/activity_main.xml 中定…

【Hadoop】Zookeeper、HBase、Sqoop

Zookeeper概述Zookeeper可以监视HDFS系统的name node和data node&#xff0c;HBase也极度依赖zookeeper&#xff0c;因为zookeeper维护了HBase的源数据以及监控所有region server的健康状态&#xff0c;如果region server宕机会通知master 。它也可以避免脑裂&#xff08;只有一…

MLIR - Linalg

简介 Linalg是MLIR中的HHO&#xff08;High-level Hierarchical Optimization&#xff09;中的核心方言&#xff0c;设计用于支持如下的核心Transformation&#xff1a; Progressive Buffer Allocation.Parametric Tiling.Promotion to Temporary Buffer in Fast Memory.Tile…

SQL相关知识 CTF SQL注入做题方法总结

SQL MySQL基础 MySQL基本操作 1.查询本地所有数据库&#xff1a; show databases; 2.使用数据库&#xff1a;use 数据库名; 3.查看当前使用的数据库名&#xff1a;select database(); 4.查看当前使用的数据库的所有表&#xff1a;show tables; 5.查看数据库版本&#xff1a;sel…

魔方的使用

三阶魔方入门玩法教程 【简单实用11个公式】三阶魔方分步还原公式图解 【初级篇】三阶魔方入门教程 1、底棱归位&#xff08;底十字对中层&#xff09; 先顶黄白十字&#xff0c;旋转对齐中层后&#xff0c;R’2翻到底层 2、底角归位 上右-前-》右下 &#xff1a;URU’R’…

新手友好!剪映:开启你的视频剪辑之旅!(国际版)

一.软件介绍 剪映&#xff08;CapCut&#xff09;是一款由​​抖音旗下深圳市脸萌科技有限公司​​开发的全功能视频编辑软件&#xff0c;自2019年5月上线以来&#xff0c;因其简单易用且功能强大&#xff0c;受到了大量用户的喜爱。 1.功能和作用&#xff1a; 功能类别主要…

使用AI大模型Seed1.5-VL精准识别开车接打电话等交通违法行为

原文链接 本案例根据用户上传的电子警察或道路卡口抓拍的图片,使用豆包全新视觉深度思考模型Doubao-1.5-thinking-vision-pro,精准识别车牌号码、车牌颜色、车身颜色、车辆品牌等车辆信息,同时通过算法精确识别开车打电话、未系安全带等交通违法行为,具有极强的实用价值。…

骑行商城怎么开发

随着骑行运动普及与数字化消费升级&#xff0c;“骑行中控数据变现积分商城”模式成为新趋势。以下从核心步骤、关键要点、风险规避三方面&#xff0c;详解如何搭建该类型小程序。一、明确核心架构与需求定位在开发前需确定小程序的核心逻辑与目标用户&#xff0c;避免功能冗余…

揭秘表格推理的“思维革命”:RoT模型介绍

–– RoT: Enhancing Table Reasoning with Iterative Row-Wise Traversals今天&#xff0c;我想和大家探讨一个我们每天都会遇到&#xff0c;却可能从未深思过其背后奥秘的事物——表格。从公司的财务报表、医疗数据&#xff0c;到体育赛事统计&#xff0c;表格无处不在&#…

【C++】AVL树(详解)

文章目录 上文链接一、什么是 AVL 树二、AVL 树的实现1. 引入平衡因子2. 整体结构3. AVL 树中的插入操作(1) 插入节点(2) 更新平衡因子更新规则停止更新条件 4. 旋转(1) 旋转的目的(2) 右单旋(3) 左单旋(4) 左右双旋(5) 右左双旋 5. AVL 树的查找与删除6. AVL 树的平衡检测 三、…

shell编程-核心变量知识

文章目录shell简介如何学好shell初识shell什么是shell执行shell脚本常用的三种方式shell变量变量相关的配置文件变量的定义shell核心位置变量shell简介 为什么学习shell&#xff0c;shell的作用 面试题&#xff1a;给你一台主机你的操作流程是什么&#xff1f; 1.自动化安装操…

微电网调度(风、光、储能、电网交互)(MatlabPython代码实现)

赠读者&#xff1a;正在埋头科研的你&#xff0c;或许有时你会困惑于 “投入” 与 “回报” 的时差&#xff0c;会疲惫于 “未知” 与 “确定” 的博弈&#xff0c;但请记得&#xff1a;那些看似 “无用” 的试错&#xff0c;都是在为突破搭建阶梯&#xff1b;那些独自深耕的日…