fix(5_task): add double quote to prevent word splitting

- Add double quote to prevent word splitting
- Format code with shfmt
This commit is contained in:
Sofia
2026-01-16 21:52:02 +08:00
committed by GitHub
parent 9c7bf11cfa
commit 0c9d110437

View File

@@ -7,6 +7,7 @@ __IS_MODULE_5_TASK_LOADED=1
# 通用工具 # 通用工具
. "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/set_config.sh
. "$CRASHDIR"/libs/set_cron.sh . "$CRASHDIR"/libs/set_cron.sh
# 任务工具 # 任务工具
set_cron() { set_cron() {
[ -z "$week" ] && week=* [ -z "$week" ] && week=*
@@ -23,6 +24,7 @@ set_cron(){
unset week hour min unset week hour min
sleep 1 sleep 1
} }
set_service() { set_service() {
# 参数1代表要任务类型,参数2代表任务ID,参数3代表任务描述,参数4代表running任务cron时间 # 参数1代表要任务类型,参数2代表任务ID,参数3代表任务描述,参数4代表running任务cron时间
task_file="$CRASHDIR"/task/$1 task_file="$CRASHDIR"/task/$1
@@ -38,8 +40,11 @@ set_service(){
echo -e "任务【$3】\033[32m添加成功\033[0m" echo -e "任务【$3】\033[32m添加成功\033[0m"
sleep 1 sleep 1
} }
# 任务界面 # 任务界面
task_user_add(){ #自定义命令添加 #
# 自定义命令添加
task_user_add() {
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "\033[33m命令可包含空格请确保命令可执行\033[0m" echo -e "\033[33m命令可包含空格请确保命令可执行\033[0m"
echo -e "\033[36m此处不要添加执行条件请在添加完成后返回添加具体执行条件\033[0m" echo -e "\033[36m此处不要添加执行条件请在添加完成后返回添加具体执行条件\033[0m"
@@ -62,7 +67,9 @@ task_user_add(){ #自定义命令添加
sleep 1 sleep 1
fi fi
} }
task_user_del(){ #自定义命令删除
# 自定义命令删除
task_user_del() {
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "请输入对应ID移除对应自定义任务(不会影响内置任务)" echo -e "请输入对应ID移除对应自定义任务(不会影响内置任务)"
echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m"
@@ -80,7 +87,9 @@ task_user_del(){ #自定义命令删除
sleep 1 sleep 1
fi fi
} }
task_add(){ #任务添加
# 任务添加
task_add() {
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "\033[36m请选择需要添加的任务\033[0m" echo -e "\033[36m请选择需要添加的任务\033[0m"
echo "-----------------------------------------------" echo "-----------------------------------------------"
@@ -90,8 +99,7 @@ task_add(){ #任务添加
echo -e " 0 返回上级菜单" echo -e " 0 返回上级菜单"
read -p "请输入对应数字 > " num read -p "请输入对应数字 > " num
case "$num" in case "$num" in
0) 0) ;;
;;
[1-9] | [1-9][0-9]) [1-9] | [1-9][0-9])
if [ "$num" -le "$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | wc -l)" ]; then if [ "$num" -le "$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | wc -l)" ]; then
task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}')
@@ -106,7 +114,9 @@ task_add(){ #任务添加
;; ;;
esac esac
} }
task_del(){ #任务删除
# 任务删除
task_del() {
# 删除定时任务 # 删除定时任务
croncmd -l >"$TMPDIR"/cron croncmd -l >"$TMPDIR"/cron
sed -i "/$1/d" "$TMPDIR"/cron && croncmd "$TMPDIR"/cron sed -i "/$1/d" "$TMPDIR"/cron && croncmd "$TMPDIR"/cron
@@ -118,7 +128,9 @@ task_del(){ #任务删除
sed -i "/$1/d" "$CRASHDIR"/task/running 2>/dev/null sed -i "/$1/d" "$CRASHDIR"/task/running 2>/dev/null
sed -i "/$1/d" "$CRASHDIR"/task/affirewall 2>/dev/null sed -i "/$1/d" "$CRASHDIR"/task/affirewall 2>/dev/null
} }
task_type(){ #任务条件选择菜单
# 任务条件选择菜单
task_type() {
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "请选择任务\033[36m【$task_name】\033[0m执行条件" echo -e "请选择任务\033[36m【$task_name】\033[0m执行条件"
echo "-----------------------------------------------" echo "-----------------------------------------------"
@@ -255,12 +267,12 @@ task_manager() {
;; ;;
[1-9] | [1-9][0-9]) [1-9] | [1-9][0-9])
task_txt=$(sed -n "$num p" "$TMPDIR"/task_list) task_txt=$(sed -n "$num p" "$TMPDIR"/task_list)
task_id=$(echo $task_txt | awk '{print $1}') task_id=$(echo "$task_txt" | awk '{print $1}')
if [ "$task_id" = 0 ]; then if [ "$task_id" = 0 ]; then
read -p "旧版任务不支持管理,是否移除?(1/0) > " res read -p "旧版任务不支持管理,是否移除?(1/0) > " res
[ "$res" = 1 ] && { [ "$res" = 1 ] && {
cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') cronname=$(echo "$task_txt" | awk -F '-' '{print $2}')
croncmd -l >"$TMPDIR"/conf && sed -i "/$cronname/d" "$TMPDIR"/conf && croncmd $TMPDIR/conf croncmd -l >"$TMPDIR"/conf && sed -i "/$cronname/d" "$TMPDIR"/conf && croncmd "$TMPDIR"/conf
sed -i "/$cronname/d" $clashdir/tools/cron 2>/dev/null sed -i "/$cronname/d" $clashdir/tools/cron 2>/dev/null
rm -f "$TMPDIR"/conf rm -f "$TMPDIR"/conf
} }
@@ -319,7 +331,8 @@ task_manager() {
done done
} }
task_recom(){ #任务推荐 # 任务推荐
task_recom() {
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "\033[32m启用推荐的自动任务配置这包括\033[0m" echo -e "\033[32m启用推荐的自动任务配置这包括\033[0m"
echo "-----------------------------------------------" echo "-----------------------------------------------"
@@ -331,7 +344,7 @@ task_recom(){ #任务推荐
[ "$res" = 1 ] && { [ "$res" = 1 ] && {
set_service running "106" "运行时每10分钟自动保存面板配置" "*/10 * * * *" set_service running "106" "运行时每10分钟自动保存面板配置" "*/10 * * * *"
set_service afstart "107" "服务启动后自动同步ntp时间" set_service afstart "107" "服务启动后自动同步ntp时间"
cronset "在每日的3点0分重启服务" "0 3 * * * ${CRASHDIR}/task/task.sh 103 在每日的3点0分重启服务" && \ cronset "在每日的3点0分重启服务" "0 3 * * * ${CRASHDIR}/task/task.sh 103 在每日的3点0分重启服务" &&
echo -e "任务【在每日的3点0分重启服务】\033[32m添加成功\033[0m" echo -e "任务【在每日的3点0分重启服务】\033[32m添加成功\033[0m"
} }
} }