#!/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_software "redis-server" # 检查某个库文件 #check_library "/usr/lib/libc.so.6" # 检查某个Python库 #check_python_library "numpy" # 检查是否安装了redis if ! command -v redis-server &> /dev/null; then echo "未找到redis-server,尝试安装redis..." if command -v apt-get &> /dev/null; then sudo apt-get update sudo apt-get install -y redis-server elif command -v yum &> /dev/null; then sudo yum install -y redis else echo "无法自动安装redis,请手动安装redis后重试。" exit 1 fi fi # 检查redis-server安装是否成功 if command -v redis-server &> /dev/null; then echo "Redis安装成功" else echo "Redis安装失败,请手动安装后重试。" 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