这是一个专门用于检测Awesome CLI应用列表中项目状态的自动化脚本工具。项目旨在维护CLI应用列表的质量,通过自动化检测已归档的GitHub仓库和失效链接,确保列表中所有应用都处于活跃和可用状态。
# 安装deadlink工具(需要先安装Rust)
cargo install deadlink# 直接使用提供的bash脚本文件
chmod +x check-for-deprecation.sh# 运行完整的检测流程
./check-for-deprecation.sh# 查看使用说明和参数信息
./check-for-deprecation.sh --help
./check-for-deprecation.sh -h
./check-for-deprecation.sh help检测结果将自动保存到 deprecated.txt 文件中,同时会在终端显示实时检测进度。
#!/bin/bash
J=6
OUT_FILE=deprecated.txt
if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ "$1" = "help" ]; then
cat <<EOF
$ check-for-deprecation.sh
Running $J processes in parallel.
Found deprecated repos are written to: $OUT_FILE
EOF
exit
fi该代码段处理命令行参数,提供用户帮助信息,并设置并行进程数和输出文件配置。
check_if_archived_on_github() {
check_deprecation() {
REPO="$1"
if nice curl -SsL "$REPO" | grep "This repository has been archived by the owner on" >/dev/null; then
echo "DEPRECATED $REPO" | tee -a $OUT_FILE
else
echo "CHECKED $REPO"
fi
}
for app in $(echo $APPS); do
((i=i%J)); ((i++==0)) && wait
check_deprecation "$app" &
done
}check_if_link_is_dead() {
command -v deadlink >/dev/null || { echo "deadlink is not installed" 1>&2; exit 127; }
tmp=$(mktemp)
deadlink check $tmp
}该函数检查deadlink工具是否已安装,提取所有非GitHub链接,并使用deadlink进行有效性验证。
check_if_archived_on_github
check_if_link_is_dead这是脚本的主要执行逻辑,依次调用GitHub仓库检测和链接有效性检测功能。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。