60 lines
1.7 KiB
Bash
60 lines
1.7 KiB
Bash
#!/bin/bash
|
|
echo "1. 查看已安装的脚本"
|
|
echo "2. 删除脚本"
|
|
|
|
declare user_choice
|
|
read -p "请输入您的选择:" user_choice
|
|
|
|
declare script_directory="/var/script"
|
|
echo "请输入脚本安装目录,默认是 ${script_directory}"
|
|
read -p "请输入:" script_directory
|
|
|
|
if [[ -z $script_directory ]]; then
|
|
script_directory="/var/script"
|
|
elif ! [[ -d $script_directory ]]; then
|
|
echo "该目录不存在"
|
|
exit
|
|
fi
|
|
|
|
function list_scripts() {
|
|
declare -a installed_scripts
|
|
declare script_name
|
|
declare script_count=0
|
|
for script in "$script_directory"/*; do
|
|
if [[ $script == "${script_directory}/*" ]]; then
|
|
echo "该目录没有脚本"
|
|
exit
|
|
fi
|
|
script_name=$(awk -F '.' '{print $1}' <<<"$(basename $script)")
|
|
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[@]} == 0 ]; then
|
|
echo "该目录没有脚本"
|
|
exit
|
|
fi
|
|
echo "${installed_scripts[@]}"
|
|
}
|
|
|
|
case $user_choice in
|
|
'1')
|
|
list_scripts
|
|
;;
|
|
'2')
|
|
installed_scripts=($(list_scripts))
|
|
read -p "请输入要删除的序号(多个用空格隔开):" script_name
|
|
for i in $script_name; do
|
|
if [[ $i =~ [1-${#installed_scripts[@]}] ]]; then
|
|
echo "开始删除 ${installed_scripts[$i]}"
|
|
(crontab -l 2>/dev/null | grep -v "${installed_scripts[$i]}") | crontab - && echo "已删除脚本的自动任务"
|
|
rm -rf "$script_directory/${installed_scripts[$i]}" &>/dev/null
|
|
echo "删除完成"
|
|
fi
|
|
done
|
|
;;
|
|
esac
|