|
|
#!/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 |