You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
smp_pc_20240625/download_and_execute.sh

103 lines
2.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/bin/bash
check_software() {
local software_name=$1
if command -v $software_name &> /dev/null
then
echo "$software_name 已安装"
else
echo "$software_name 未安装"
fi
}
check_library() {
local library_path=$1
if [ -f "$library_path" ]; then
echo "库文件 $library_path 存在"
else
echo "库文件 $library_path 不存在"
fi
}
check_python_library() {
local library_name=$1
python -c "import $library_name" &> /dev/null
if [ $? -eq 0 ]; then
echo "Python库 $library_name 存在"
else
echo "Python库 $library_name 不存在"
fi
}
# 检查某个软件
check_software "git"
# 检查某个库文件
#check_library "/usr/lib/libc.so.6"
# 检查某个Python库
#check_python_library "numpy"
# 检查 libcamera-still 命令是否存在
if command -v libcamera-still >/dev/null 2>&1; then
echo "libcamera-still 命令存在"
else
echo "libcamera-still 命令不存在"
exit 1
fi
# 设置仓库URL和本地目录
repo_url="https://bdgit.educoder.net/pv2ajsu8k/smp_pc_20240625.git"
local_dir="smp_pc"
# 检查是否安装了git
if ! command -v git &> /dev/null; then
echo "未找到git尝试安装git..."
if command -v apt-get &> /dev/null; then
sudo apt-get update
sudo apt-get install -y git
elif command -v yum &> /dev/null; then
sudo yum install -y git
else
echo "无法自动安装git请手动安装git后重试。"
exit 1
fi
fi
# 检查是否存在本地目录
if [ -d "$local_dir" ]; then
echo "本地目录 $local_dir 已存在,请删除后重试。"
exit 1
fi
# 克隆仓库
if git clone $repo_url $local_dir; then
echo "仓库克隆成功"
else
echo "仓库克隆失败"
exit 1
fi
# 进入仓库目录
cd $local_dir || { echo "无法进入目录 $local_dir"; exit 1; }
# 检查smp_init.sh是否存在
if [ -f "smp_init.sh" ]; then
# 如果没有执行权限,尝试添加执行权限
if [ ! -x "smp_init.sh" ]; then
echo "smp_init.sh 没有执行权限,尝试添加执行权限..."
chmod +x "smp_init.sh" || { echo "无法添加执行权限"; exit 1; }
fi
# 执行smp_init.sh
./smp_init.sh
echo "smp_init.sh 执行完成"
else
echo "smp_init.sh 不存在"
exit 1
fi