linuxtool/Config/Task/manage.sh

70 lines
1.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
echo "1. 查看已安装的脚本"
echo "2. 删除脚本"
declare user_choice
read -p "请输入您的选择:" user_choice
declare script_directory="/var/script"
echo "请输入脚本安装目录,默认是 ${script_directory}"
read -p "请输入:" input_directory
if [[ -n $input_directory ]]; then
script_directory="$input_directory"
fi
if [[ ! -d $script_directory ]]; then
echo "该目录不存在"
exit 1
fi
function list_scripts() {
local script_count=0
for script in "$script_directory"/*; do
if [[ ! -e $script ]]; then
echo "该目录没有脚本"
return
fi
local script_name=$(basename "$script" | awk -F '.' '{print $1}')
if [[ $script_name == "linuxtool" ]]; then
continue
fi
script_count=$((script_count + 1))
echo "${script_count}.${script_name}"
installed_scripts[$script_count]=$script_name
done
if [[ ${#installed_scripts[@]} -eq 0 ]]; then
echo "该目录没有脚本"
return
fi
}
case $user_choice in
'1')
list_scripts
;;
'2')
declare -a installed_scripts
list_scripts
read -p "请输入要删除的序号(多个用空格隔开):" script_indices
for index in $script_indices; do
if [[ $index =~ ^[1-9][0-9]*$ ]] && [ $index -le ${#installed_scripts[@]} ]; then
local script_to_delete=${installed_scripts[$((index - 1))]}
echo "开始删除 ${script_to_delete}"
(crontab -l 2>/dev/null | grep -v "$script_to_delete") | crontab - && echo "已删除脚本的自动任务"
rm -rf "$script_directory/$script_to_delete" &>/dev/null
echo "删除完成"
else
echo "无效的序号: $index"
fi
done
;;
*)
echo "无效的选择"
exit 1
;;
esac