Linux终端-代码自动编译执行脚本,支持c,c++,shell,Python,Java。仅供个人使用

发布于:2022-10-16 ⋅ 阅读:(424) ⋅ 点赞:(0)

###!/bin/bash
##########################################
#ame:终端编程自动调试器

writer:xzg

time:2021.3.20.19:46

contact:qq:1011560907

##########################################
<<结构
1.do命令的启用和配置
DO_SET
2.do 使用和执行{
main

执行文件是否存在
FILEIO
根据文件名判断执行文件

}
结构
#需要执行的文件名(这里是.sh是程序自行访问的):21.sh
#▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲以上内容静止修改否则出错▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
#全局变量

♡ 🧡 ▲ ★ $FC ☞ ☜ 字符集

MM= 0 ; M M = 0;MM= 0;MM={MM##*/} #截取./main 里的 main

PWD_DO= ( p w d ) P W D F = (pwd) PWD_F= (pwd)PWDF=(echo “ P W D D O / " ) A R G C = PWD_DO/") ARGC= PWDDO/")ARGC=(echo “$PWD_DO/$1”) #变量值复制使用
F_N=KaTeX parse error: Expected 'EOF', got '#' at position 3: 1 #̲目标文件名 T1=0 T2=0…RANDOM(随机数)
SNUM=$RANDOM
FC=”\033[7m"; #反色显示
if [ [ [ [SNUM%2] == 0 ]
then
HB="\033[43m";HC="\033[35m";#yellow
DB="\033[45m";DC="\033[37m";#pink/whilte
WB="\033[42m";WC="\033[34m";#pink
else
HB="\033[46m";HC="\033[37m";#skyblue
DB="\033[42m";DC="\033[30m";#green
WB="\033[45m";WC="\033[33m";#pink#yellow
fi
RGB_H=“echo -e \033[0m H B HB HBHC\033[1m\c” #head标题[]
RGB_D=“echo -e \033[0m D B DB DBDC\033[1m\n\c” #main执行部分[]
RGB_W=“echo -e \033[0m W B WB WBWC\033[1m\c” #wait睡眠颜色[]
RGB_RD=“echo -e \033[0m\033[5m\033[43m\033[35m\033[1m\c” #reok颜色[蓝]
#_______________________________________________________________
DO_SET(){
#do 命令是否已配置
cd /usr/bin/
ls|grep “do.sh” >> /dev/null
if [ $? -eq 1 ]
then #没有配置就配置(shell脚本设置成为系统永久命令:环境变量配置)
cd $PWD_F
sudo cp do.sh /usr/bin/do.sh

cd
cat .bashrc|grep "alias do='do.sh'" > /dev/null
if [ $? -eq 1 ]
then  
   source alias do='do.sh'
    sudo echo "alias do='do.sh'" >> .bashrc
fi

else :
fi
#恢复原来目录
cd $PWD_F
}
FILEIO(){
if [ $1 ]
then #./do 1.c有文件名时
ls|grep $1 >> /dev/null
if [ $? -eq 1 ]
then #输入的文件不存在时
echo -e “[命令:do 执行的文件名](提示:不存在’$1’该文件)”
return 1
else
return 0
fi
else
echo -e “help—\n[命令:do 执行的文件名]\n(命令格式错误)”
return 1
fi
}
DOING(){
#echo 执行文件中$1
chmod +x $1
case ${F_N##*.} in
‘cpp’) #c文件
g++ $1 -o $1.out
./$1.out
rm $1.out
;;
#_____________________
‘c’) #c文件
gcc $1 -o $1.out
./$1.out
rm $1.out
;;
#________________________
‘sh’) #shell文件 #额外命令修改区
./$1
;;
#________________________

	'py') #python文件
		python3 ./$1
		    ;;
            #________________________
	'java') #java文件
		javac $1
		    java $1
		        ;; 
    'txt') #txt文件
		cat $1
		    ;;
    'mp3')
		xdg-open $1
		    ;;
    'mp4')
		xdg-open $1
		    ;;
    #*) #否则
    #./$1
    #;;
                    #________________________
esac

}
DO_RUN(){
#执行文件,没5秒钟获取文件存储时间是否发生变化,来判断是否再次执行
clear
#开始_____________________________________________________________________
$RGB_H #colorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolorcolor
echo -e “🛸⊶⊶⊶终端AI🛷代码⊷︎︎⊷︎︎⊷︎︎⊷︎︎🛸”
#echo “(支持c+±c-shell-python-java,命令:do 文件名)qq群:794925780”
echo -e “🛸⊶start☞$1☜doing⊷︎︎⊷︎︎⊷︎︎🛸\033[0m\c”
$RGB_D
T1=ls -l --time-style '+%Y/%m/%d %H:%M:%S' $1 #变量=命令结果
#echo KaTeX parse error: Expected 'EOF', got '#' at position 4: T1 #̲'值' 命令执行才可以使用,默…A“ 强调整体,类似过滤空格,tab等# KaTeX parse error: Expected 'EOF', got '#' at position 11: {变量} 强调取值 #̲echo 文件:FILE
DOING “$1” #跟文件名的不同执行不同命令
echo -e “\n________________________”
while true
do
$RGB_W
echo -e “\r执行完毕☞ OK ☜waiting≫ \c”
$RGB_H
for s in {3…1};do echo -e “✪ \c”;sleep 1;done
#break
T2=ls -l --time-style '+%Y/%m/%d %H:%M:%S' $1
if [ “ T 2 " ! = " T2" != " T2"!="T1” ]
then #——————————————————————————————————检测到文件已经被修改
$RGB_RD
echo -e “\nchanged☞ 注意 ☜doing-├═>♡ ♡ ♡ \c”
$RGB_D
DOING “KaTeX parse error: Undefined control sequence: \n at position 16: 1" echo -e "\̲n̲\033[44m\033[37…T2”
else
: #——————————————————————————监测到文件没有发生变化就继续循环3s
fi
done
}
main(){
#1.do命令的启用和配置
DO_SET
if [ KaTeX parse error: Expected 'EOF', got '#' at position 28: … then #̲2.执行文件是否存在 …F_N"
if [ KaTeX parse error: Expected 'EOF', got '#' at position 36: …en #̲do.sh的执行结构 …F_N"
fi
else
echo “DO_SET配置失败”
fi

}
#_______________________________________________________________
#main
#请执行:./main 文件名"
#类似main函数的调用
main

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到