重写安装软件逻辑

This commit is contained in:
lsy 2024-09-23 14:57:22 +08:00
parent af9cc15020
commit 29846aa2b5
2 changed files with 52 additions and 45 deletions

View File

@ -9,15 +9,22 @@ fi
mkdir -p "$path" mkdir -p "$path"
rm -rf "$path/linuxtoo" rm -rf "$path/linuxtoo"
wget https://g.lsy22.com/lsy/LinuxTool/archive/master.tar.gz -O "${path}/aa" &> /dev/null || echo "脚本下载失败" && exit wget https://g.lsy22.com/lsy/LinuxTool/archive/master.tar.gz -O "${path}/aa" &> /dev/null
tar -zxf "$path/aa" -C $path &> /dev/null || echo "脚本解压" && exit
if [[ -d "${path}/aa" ]];then
echo "脚本下载失败"
exit
fi
tar -zxf "$path/aa" -C $path &> /dev/null
rm "$path/aa" rm "$path/aa"
chmod +x "$path/linuxtool/Run.sh" &> /dev/null || echo "脚本添加执行权限失败" && exit chmod +x "$path/linuxtool/Run.sh" &> /dev/null
sed -i '/alias tool.*/d' "${HOME}/.bashrc" sed -i '/alias tool.*/d' "${HOME}/.bashrc"
echo "alias tool='$path/linuxtool/Run.sh'" | cat >> "${HOME}/.bashrc" echo "alias tool='$path/linuxtool/Run.sh'" | cat >> "${HOME}/.bashrc"
source "${HOME}/.bashrc" source "${HOME}/.bashrc"
export tool="$path/linuxtool/Run.sh"
echo "工具箱已经安装成功" echo "工具箱已经安装成功"
echo "位置:${path}/linuxtool" echo "位置:${path}/linuxtool"
echo "命令tool" echo "命令tool"

View File

@ -24,35 +24,47 @@ fi
declare pick declare pick
declare soft_number
declare -A soft_dick
declare -a soft_array declare -a soft_array
soft_array[0]='git' soft_dick['git']=0
soft_array[1]='vim' soft_dick['vim']=0
soft_array[2]='wget' soft_dick['wget']=0
soft_array[3]='curl' soft_dick['curl']=0
soft_array[4]='ssh' soft_dick['ssh']=0
soft_array[5]='zsh' soft_dick['zsh']=0
soft_array[6]='zip' soft_dick['Beautify-zsh']=1
soft_dick['docker']=1
soft_dick['x-cmd']=1
echo "======一键安装常用软件======" echo "======一键安装常用软件======"
for i in "${soft_array[@]}" for i in "${!soft_dick[@]}" ; do
do soft_number=$(( soft_number+1 ))
read -p "是否安装${i},输入 n 取消安装:" pick soft_array[$soft_number]=$i
if [[ ! $pick =~ [Nn] ]];then echo "${soft_number}.${i}"
install_str+=" ${i}" done
read -p "请输入需要安装的软件序号,用 空格 隔开:" pick
if [[ ! $pick =~ [a-zA-Z\ ]+ ]];then
echo "输入错误"
exit
fi
for i in $pick ; do
if [[ ${soft_dick[${soft_array[$i]}]} == 0 ]]; then
eval "$install_str $i"
else
soft_dick[${soft_array[$i]}]=2
fi fi
done done
if [[ ${soft_dick['x-cmd']} == 2 ]];then
eval "$(curl https://get.x-cmd.com)"
fi
declare pick_x if [[ ${soft_dick['docker']} == 2 ]];then
read -p "是否安装x-cmd,输入 n 取消安装:" pick_x
declare pick_zsh
read -p "是否一键美化zsh,输入 n 取消:" pick_zsh
declare pick_docker
read -p "是否安装docker,输入 n 取消:" pick_docker
if [[ ! $pick_docker =~ [Nn] ]];then
declare -A docker_imgs declare -A docker_imgs
docker_imgs['官方']='https://download.docker.com' docker_imgs['官方']='https://download.docker.com'
docker_imgs['中国科技大学(默认)']='https://mirrors.ustc.edu.cn/docker-ce' docker_imgs['中国科技大学(默认)']='https://mirrors.ustc.edu.cn/docker-ce'
@ -76,20 +88,7 @@ if [[ ! $pick_docker =~ [Nn] ]];then
docker_img_number_pick=${docker_img_number[$docker_img_number_pick]} docker_img_number_pick=${docker_img_number[$docker_img_number_pick]}
docker_img=${docker_imgs[$docker_img_number_pick]} docker_img=${docker_imgs[$docker_img_number_pick]}
fi fi
fi
if [[ ! $pick_x =~ [Nn] ]];then
eval "$(curl https://get.x-cmd.com)"
fi
eval "sudo ${install_str}"
if [[ ! $pick_x =~ [Nn] ]];then
eval "$(curl https://get.x-cmd.com)"
fi
if [[ ! $pick_docker =~ [Nn] ]];then
if [[ ${pkg} == 'apt' || ${pkg} == 'apt-get' ]];then if [[ ${pkg} == 'apt' || ${pkg} == 'apt-get' ]];then
sudo ${pkg} update sudo ${pkg} update
sudo ${pkg} install ca-certificates curl -y sudo ${pkg} install ca-certificates curl -y
@ -102,7 +101,7 @@ if [[ ! $pick_docker =~ [Nn] ]];then
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo ${pkg} update sudo ${pkg} update
sudo ${pkg} install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y sudo ${pkg} install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
elif [[ ${pkg} == 'arch' ]];then elif [[ ${pkg} == 'pacman' ]];then
sudo pacman -Sy docker --noconfirm sudo pacman -Sy docker --noconfirm
sudo systemctl start docker.service sudo systemctl start docker.service
sudo systemctl enable docker.service sudo systemctl enable docker.service
@ -111,7 +110,8 @@ if [[ ! $pick_docker =~ [Nn] ]];then
fi fi
fi fi
if [[ ! $pick_zsh =~ [Nn] ]];then
if [[ ${soft_dick['Beautify-zsh']} == 2 ]];then
curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh | sed 's/read -r opt//g'| sed 's/exec zsh -l//g'| sh curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh | sed 's/read -r opt//g'| sed 's/exec zsh -l//g'| sh
while [[ ! -d "$HOME/.oh-my-zsh" ]]; do while [[ ! -d "$HOME/.oh-my-zsh" ]]; do
sleep 3 sleep 3