🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
```bash #!/usr/bin/env bash #------------------------------------------------------- # FileName : new.sh # Author :hpy # Date :2021年01月01日 # Description :新建文件脚本 #------------------------------------------------------- main(){ test $# -eq 0 && echo "没有输出有效的文件名" && exit 2 DetFileType $* } #----------------------------------- #识别文件名称并自动调用模板脚本生成 #模板 #----------------------------------- function DetFileType(){ for i in $* do test -f $i && echo "已经存在$i文件" && continue case $i in *.sh) MakeBashFile $i ;; *.fish) MakeFishFile $i ;; *.v) MakeVerilogFile $i ;; *.cpp) MakeCppFile $i ;; "*") echo "没有识别文件";; esac done } #----------------------------------- #新建bash的模板文件 #@param1 文件名称 #----------------------------------- function MakeBashFile(){ local fdir=$(dirname $1) test ! -d $fdir && mkdir -p $fdir #文件夹路径不存在则先新建文件夹 echo "#!/usr/bin/env bash" > $1 echo "#-------------------------------------------------------" >> $1 echo "# FileName : $(basename $1)" >> $1 echo "# Author :hpy" >> $1 echo "# Date :$(date +%Y年%m月%d日)" >> $1 echo "# Description :" >> $1 echo "#-------------------------------------------------------" >> $1 echo " " >> $1 echo "新建 $1 成功" echo "" } #----------------------------------- #新建Fish的模板文件 #@param1 文件名称 #----------------------------------- function MakeFishFile(){ local fdir=$(dirname $1) test ! -d $fdir && mkdir -p $fdir #文件夹路径不存在则先新建文件夹 echo "#!/usr/bin/env fish" > $1 echo "#-------------------------------------------------------" >> $1 echo "# FileName : $(basename $1)" >> $1 echo "# Author :hpy" >> $1 echo "# Date :$(date +%Y年%m月%d日)" >> $1 echo "# Description :" >> $1 echo "#-------------------------------------------------------" >> $1 echo " " >> $1 echo "新建 $1 成功" echo "" } #----------------------------------- #新建 verilog 的模板文件 #@param1 文件名称 #----------------------------------- function MakeVerilogFile(){ local fdir=$(dirname $1) test ! -d $fdir && mkdir -p $fdir #文件夹路径不存在则先新建文件夹 echo "\`timescale 1ns / 1ps"> $1 echo "// ********************************************************************" >> $1 echo "// FileName : $(basename $1)" >> $1 echo "// Author :hpy" >> $1 echo "// Email :yuan_hp@qq.com" >> $1 echo "// Date :$(date +%Y年%m月%d日)" >> $1 echo "// Description :" >> $1 echo "// --------------------------------------------------------------------" >> $1 echo "module t(" >> $1 echo " input clk," >> $1 echo " input rst_n" >> $1 echo ");" >> $1 echo " " >> $1 echo "always@(posedge clk or negedge rst_n)">> $1 echo "begin">> $1 echo " if(!rst_n)begin">> $1 echo "">> $1 echo " end">> $1 echo " else begin">> $1 echo "">> $1 echo " end">> $1 echo "end">> $1 echo "endmodule">> $1 echo " " >> $1 echo "新建 $1 成功" echo "" } #----------------------------------- #新建 Cpp 的模板文件 #@param1 文件名称 #----------------------------------- function MakeCppFile(){ local fdir=$(dirname $1) test ! -d $fdir && mkdir -p $fdir #文件夹路径不存在则先新建文件夹 echo "/**"> $1 echo " * Copyright (C) $(date +%Y) All rights reserved." >> $1 echo " *" >> $1 echo " * FileName :$(basename $1)" >> $1 echo " * Author :hpy" >> $1 echo " * Email :yuan_hp@qq.com" >> $1 echo " * Date :$(date +%Y年%m月%d日)" >> $1 echo " * Description :" >> $1 echo " */" >> $1 echo "">> $1 echo "#include <bits/stdc++.h>">> $1 echo "using namespace std;">> $1 echo "">> $1 echo "int main(int argc, char* argv[])">> $1 echo "{">> $1 echo " return 0;">> $1 echo "}">> $1 echo "">> $1 echo "新建 $1 成功" echo "" } main $*⏎ ```