企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
希望根据文件类型的不同,自动执行不同指令的脚本。 `mgo` ```shell #!/usr/bin/env bash #----------------------------------------------- # Author : hpy # Emal : yuan_hp@qq.com # # auto run some file! for example bash,fish,tcl, # python, cpp, gnuplot and so on #----------------------------------------------- dst=$(date +%Y%m%d%H%M%S.mgo) #临时文件 function main(){ DefautRun $* test ! -f $1 && echo "不存在 $1 文件" | cat && exit ReadFileType $1 | cat #cat显示是为了在win上不乱码 } #带有参数,则识别第一个参数,并根据文件不同类型选择后续操作 function ReadFileType(){ case $1 in *.sh | *.fish | *.pl | *.tcl | *.tk | *.py | *.lua) chmod +x $1 && ./$1 ;; *.c) gcc -o $dst $1 && chmod +x $dst && ./$dst;; *.cpp) g++ -std=c++11 -o $dst $1 && chmod +x $dst && ./$dst;; *.go ) go build -o $dst $1 && chmod +x $dst && ./$dst ;; *.plt) gnuplot $1 ;; #gnuplot *.m) cd $(dirname $1) && dst=$(basename $1) && dst=${dst%%.*}&& matlab -nosplash -nodesktop -r $dst ;; #matlab文件 * ) echo "Fuck! I don't konw what it is!" ;; esac test -f $dst && rm $dst &>/dev/null } #当不带参数输入时 找run或者run.sh文件运行 function DefautRun(){ if [ -z $* ] ;then if [ -f run ] ;then chmod +x run ./run elif [ -f run.sh ] ; then chmod +x run.sh ./run.sh else echo "Fuck! Fuck! No parameters, no run file or run.sh file, what do you want?" fi exit fi } main $* ```