From 1774606938a486db053b23914336b2627785ee4e Mon Sep 17 00:00:00 2001 From: lsy Date: Fri, 6 Jun 2025 01:25:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A9=E7=94=A8=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E4=BB=A3=E6=9B=BF=E5=88=AB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Config/Manage/install.sh | 77 +++++++++++++++++--------------------- Config/Manage/unInstall.sh | 23 ++++-------- 2 files changed, 41 insertions(+), 59 deletions(-) diff --git a/Config/Manage/install.sh b/Config/Manage/install.sh index 7f80c10..0b4ebbe 100644 --- a/Config/Manage/install.sh +++ b/Config/Manage/install.sh @@ -1,30 +1,30 @@ #!/bin/bash if [[ $UID != 0 ]]; then - echo "请以root权限执行该脚本" - exit + echo "请以root权限执行该脚本" + exit fi -if ! command -v git &> /dev/null; then - if [[ -f "/usr/bin/apt-get" ]];then - apt-get update -y - apt-get install git -y - elif [[ -f "/usr/bin/apt" ]];then - apt update -y - apt install git -y - elif [[ -f "/usr/bin/pacman" ]];then - pacman -Syu --noconfirm - pacman -Sy --noconfirm git - else - echo "git未安装" - exit - fi +if ! command -v git &>/dev/null; then + if [[ -f "/usr/bin/apt-get" ]]; then + apt-get update -y + apt-get install git -y + elif [[ -f "/usr/bin/apt" ]]; then + apt update -y + apt install git -y + elif [[ -f "/usr/bin/pacman" ]]; then + pacman -Syu --noconfirm + pacman -Sy --noconfirm git + else + echo "git未安装" + exit + fi fi declare path echo "请输入脚本的安装位置" read -p "默认 /var/script:" path -if [[ -z $path ]];then - path="/var/script" +if [[ -z $path ]]; then + path="/var/script" fi mkdir -p "$path" @@ -39,51 +39,42 @@ echo "请选择脚本的下载地址" url_dick['github(default)']='https://github.com/lsy2246/linuxtool.git' url_dick['gitee']='https://gitee.com/lsy22/linuxtool.git' -for i in "${!url_dick[@]}" ; do - url_number=$(( url_number+1 )) - url_arr[$url_number]=$i - echo "${url_number}.${i}" +for i in "${!url_dick[@]}"; do + url_number=$((url_number + 1)) + url_arr[$url_number]=$i + echo "${url_number}.${i}" done read -p "请输入:" url_pick if [[ $url_pick =~ [1-${#url_dick[@]}] ]]; then - url=${url_dick[${url_arr[$url_pick]}]} + url=${url_dick[${url_arr[$url_pick]}]} else url='https://github.com/lsy2246/linuxtool.git' fi echo "正在下载脚本中" -git clone "$url" "$path/linuxtool" &> /dev/null +git clone "$url" "$path/linuxtool" &>/dev/null -if ! [[ -d "${path}/linuxtool" ]];then +if ! [[ -d "${path}/linuxtool" ]]; then echo "脚本下载失败" exit fi -chmod +x "$path/linuxtool/run.sh" &> /dev/null +chmod +x "$path/linuxtool/run.sh" &>/dev/null -update_alias() { - local file="$1" - if [[ -e "$file" ]]; then - sed -i '/alias tool.*/d' "$file" - echo "alias tool='$path/linuxtool/run.sh'" >> "$file" - fi -} +# 创建软链接到 /usr/bin 目录 +echo "正在创建软链接..." +ln -sf "$path/linuxtool/run.sh" "/usr/bin/tool" +chmod +x "/usr/bin/tool" -shopt -s expand_aliases -alias tool="$path/linuxtool/run.sh" -export -f tool &> /dev/null - -for file in "${HOME}/.bashrc" "${HOME}/.profile" "${HOME}/.zshrc" "/etc/profile"; do - update_alias "$file" -done +# 将工具路径写入环境变量配置 +echo "tool='$path/linuxtool/run.sh'" >>/etc/profile echo "工具箱已经安装成功" echo "位置:${path}/linuxtool" echo "命令:tool" - if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then - kill $PPID &> /dev/null -fi \ No newline at end of file + kill $PPID &>/dev/null +fi diff --git a/Config/Manage/unInstall.sh b/Config/Manage/unInstall.sh index d569a0a..cbef955 100644 --- a/Config/Manage/unInstall.sh +++ b/Config/Manage/unInstall.sh @@ -3,22 +3,13 @@ declare tool_path=$(cat /etc/profile | grep "tool=" | awk -F "=" '{print $2}' | tool_path=$(dirname $tool_path) rm -rf $tool_path -remove_alias() { - local file="$1" - if [[ -e "$file" ]]; then - sed -i '/alias tool.*/d' "$file" - source "$file" &> /dev/null - fi -} - -for file in "${HOME}/.bashrc" "${HOME}/.profile" "${HOME}/.zshrc" "/etc/profile"; do - remove_alias "$file" -done - -shopt -u expand_aliases - -unalias tool &> /dev/null +# 删除软链接 +if [[ -L "/usr/bin/tool" ]]; then + rm -f "/usr/bin/tool" +fi +# 从环境变量配置中删除工具路径 +sed -i '/tool=.*/d' /etc/profile echo "脚本已完整卸载,公众号 lsy22 可获取一键安装脚本" -kill $PPID &> /dev/null \ No newline at end of file +kill $PPID &>/dev/null