首页 > 系统相关 >shell_获取当前最新的sh脚本并执行 shell脚本 配合curl使用

shell_获取当前最新的sh脚本并执行 shell脚本 配合curl使用

时间:2024-08-18 10:39:02浏览次数:8  
标签:脚本 md shell echo sh file new path

获取最新的shell脚本并执行

#!/bin/bash

# 获取当前目录
current_dir=$(pwd)

# 获取当前脚本的绝对路径
script_path=$(readlink -f "$0")

# 使用find查找以temp开头且以.sh结尾的文件,并按修改时间排序
latest_file=$(find "$current_dir" -maxdepth 1 -name "*.sh" -print0 |
    xargs -0 ls -t1 | head -n 1)

# 输出找到的文件
if [ -n "$latest_file" ]; then
    if [[ "$script_path" != "$latest_file" ]]; then
        # 提取文件名
        file_name=$(basename "$latest_file")

        # 构建新的.md文件名
        md_file_name="${file_name%.sh}zout.md"
        echo "$md_file_name"

        # 构建完整路径的新文件
        new_md_file_path="$current_dir/out/$md_file_name"
        # 创建所需的目录
        mkdir -p "$(dirname "$new_md_file_path")"
        # 获取当前时间并格式化为 "yyyyMMdd_HHmmss" 格式
        formatted_time=$(date +%Y%m%d_%H%M%S)
        # 输出格式化后的时间
        printf "\n" >>$new_md_file_path
        echo "# $formatted_time" >>$new_md_file_path
        printf "\n" >>$new_md_file_path
        # 调用run_sh.sh
        echo "\`\`\`json" >>$new_md_file_path
        $latest_file > temp_out.txt
        # 读取并格式化 JSON 数据
        formatted_json=$(cat temp_out.txt | jq '.')
        # 输出格式化的 JSON 数据
        echo "$formatted_json" >>$new_md_file_path
        # cat temp_out.txt >>$new_md_file_path
        # 清理临时文件
        rm temp_out.txt
        printf "\n" >>$new_md_file_path
        echo "\`\`\`" >>$new_md_file_path
        code $new_md_file_path
    else
        :
    fi
else
    echo "No *.sh files found."
fi

# 在 run_sh.sh 完成后打印一些信息
echo "===================================================================="

标签:脚本,md,shell,echo,sh,file,new,path
From: https://www.cnblogs.com/zhuoss/p/18365348

相关文章

  • curl bat shell 杂七杂八
    curlRequest\json\createtodo.json{"name":"eat","status":0,"remark":"eatapple"}curlRequest\json\createtodo2.json{"name":"eat","status":0,&quo......
  • curl 命令行 crud http shell get post put delete restful
    GETcurl-X'GET'\'http://localhost:5294/api/Todos?Status=0&PrePage=10'\-H'accept:*/*'POSTcurl-X'POST'\'http://localhost:5294/api/Todos'\-H'Authorization:BearereyJhb......
  • 深度剖析Cocos Creator中的Shader编程:从入门到精通,打造绚丽视觉效果!
    目录一、入门篇:Shader是什么?为什么我们需要它?二、基础知识:GLSL与CocosCreator的Shader语言三、实战演练:编写一个简单的Shader1.创建Shader文件2.编写GLSL代码3.应用Shader四、 编写复杂的Shader效果五、 性能优化六、示例:编写高斯模糊Shader顶点着色器(VS)片元......
  • Spark MLlib 特征工程系列—特征提取LSH(BucketedRandomProjectionLSH)
    SparkMLlib特征工程系列—特征提取LSH(BucketedRandomProjectionLSH)在这篇文章中,我们将深入探讨Spark中的BucketedRandomProjectionLSH,这是一种用于近似最近邻搜索的技术。文章将覆盖其工作原理、应用场景、Scala代码示例、参数调优以及使用效果分析,确保内容全面、......
  • ShadowDefender 注册码 分析
    目录ShadowDefenderCRegisterDlg定位虚表定位AFX_MSGMAP_ENTRY定位消息事件do_register_check_14001BFC4check_140002FF4hash_14000328CpyShadowDefenderVersion:1.5.0.726MFC程序,CRegisterDlg定位虚表定位AFX_MSGMAP_ENTRY定位消息事件根据AFX_MSGMAP_ENTRY和Resour......
  • XSS-跨站脚本攻击
    目录XSS简介XSS分类反射型XSS(非持久型XSS)存储型XSS(持久型XSS)DOM型XSSHTML文档解析过程例题HTML解析字符实体(characterentities)HTML字符实体(HTMLcharacterentities)字符引用(characterreferences)URL解析JavaScript解析解析流XSS练习DomClobberingDOM型......
  • yum源仓库更换脚本
    一、需求:一键式脚本更换国内的阿里源二、脚本#!/bin/bash#数据迁移备份yum_bak='mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup'#查看当前仓库yum_repo="yumrepolist|grep'*'|awk-F"[:.]"'NR==1{print$3}'......
  • 华为路由器、交换机、AC、新版本开局远程登录那些坑(Telnet、SSH/HTTP避坑指南)
    关于华为设备远程登录配置开启的通用习惯1、HTTP/HTTPS相关服务httpsecure-serverenablehttpserverenable2、Telnet服务telnetserverenable3、SSH服务stelnetserverenablesshuseradminauthentication-typepassword在V200R019C10以及之前的版本呢,都习惯的......
  • 痞子衡嵌入式:英飞凌MirrorBit工艺NOR Flash的扇区架构设计
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是英飞凌MirrorBit工艺NORFlash的扇区架构设计。NORFlash大家都很熟悉,其内部按组织从小到大分为Page(128B/256B/512B)、Sector(4KB)、Block(32KB/64KB/128KB/256KB)、Chip,其中Page是编程单元,Sector/Bloc......
  • 热力学平衡、Liftshitz 理论和朗道理论
    科学家们经过广泛的实验发现:熔化往往始于固体表面。熔化时,体系由“固体-气体接触”变为"固体-熔化层接触+熔化层-气体接触“。如果后者的能量更稳定,则说明熔化的确更容易在表面发生。将这一结论推广到温度低于熔点的情况即可在热力学平衡角度解释预熔现象。下面简要考察这一......