获取最新的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