###!/bin/bash
##########################################
# name:终端编程自动调试器 #
# writer:xzg #
# time:2021.3.20.19:46 #
# contact:qq #
##########################################
#××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
FILE=main.c #请设置需要调试的文件名<<<<<<<<<<<<<<<<<<<<<<< ×
#××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
RGB_SRT="echo -e 33[0m 33[44m 33[33m 33[1mc" #开始颜色[蓝]
RGB_FILE="echo -e 33[0m 33[5m 33[37m 33[45mc" #执行颜色[红]
RGB_WSRT="echo -e 33[0m 33[42m 33[37mc" #等待颜色[绿](:恢复白字绿背景)
RGB_CSRT="echo -e 33[0m 33[43m 33[35m 33[1mc" #ok颜色[蓝]
RGB_END="echo -e 33[0m" #结束颜色(c空格透明)
# ♡ 李 ▲ ★ ☞ ☜ 字符集
DOING(){ #echo 执行文件中$1
case ${FILE##*.} in
'sh') #shell文件
#额外命令修改区
chmod 222 $1
./$1
;;#________________________
'c') #c文件
gcc -o main $1
./main
;;#________________________
'py') #python文件
python3 ./$1
;;#________________________
'java') #java文件
javac $1
java $1
;;#________________________
esac
}
START(){
DOING "$FILE" #———————————————————————————————————执行文件
while true
do
$RGB_WSRT #colorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolor
echo -e "n ➠➠➠☞ ending ★ 结束运行 等待 ☞ $FILE ☜ 发生变化:c"
for s in {3..1};do echo -e " 李c";sleep 1.1;done
T2=`cat $FILE`
if [ "$T2" == "$T1" ]
then #——————————————————————————————————监测到文件没有发生变化
sleep 1;
else #——————————————————————————————————检测到文件已经被修改
$RGB_CSRT #colorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolor
echo -e "n ➠➠➠☞ changed_doing $FILE ▲ 修正后 ▲ 运行中: ▲ ▲ ▲c"
$RGB_FILE #colorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolor
DOING "$FILE"
$RGB_SRT #colorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolor
echo -e "n ➠➠➠☞ OK_R_A ★ 运行完毕 再次 ★ 即将—开始下次测试:c"
for i in {3..1};do echo -e " 李c";sleep 1;done
T1="$T2"
fi
done
}
#___开始_____________________________________________________________________
$RGB_SRT #colorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolor
echo "➠➠➠➠➠➠➠➠➠☞___终端代码自动化调试___☜➠➠➠➠➠➠➠➠➠ ★ ★ ★ ★ ★ ★"
echo "➠➠➠➠➠➠➠➠➠☞___支持-c-shell-python-java-[请设置文件名:1.sh]"
echo "➠➠➠➠➠➠➠➠➠☞___contact_qq群:794925780_____________ ★ ★ ★ ★"
echo -e "➠➠➠➠➠➠➠➠➠☞___★ 始运行中start ☞ $FILE ☜ doing... ★ ★ ★ ★ 33[0mc"
$RGB_FILE #colorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolor
cat $FILE >> /dev/null
if [ $? -eq 0 ]
then
T1=`cat $FILE` #变量=`命令`
T2=0
IME='5'
#'值' 命令执行才可以使用,默认字符
#”$A“ 强调整体,类似过滤空格,tab等
# ${变量} 强调取值
#echo 文件:$FILE
#echo -e "输出变量:$T1" #确保文件存在时
START
else
echo -e "X X X :不存在[ $FILE ],请检查[ do.sh ],第 9 行,谢谢 33[0m"
#模拟 ctrl + c(全部字母(A-Z):001-032)
fi