Shell 脚本:文件/文件夹排查 Wait Semphor Timeout 错误
{/n/'title/':/'ERROR=///'//033[0;31m///'/nRESET=///'//033[0m///'/n/nif [ -z ///'$1///' ]; then/n echo 请上传文件或文件夹/n exit/nfi/n# 该路径是文件还是文件夹标识/nfile_path_type=-1/n/nif [ -d $1 ]; then/n # 是文件夹/n file_path_type=1/nelse/n if [ -f $1 ]; then/n # 是文件/n file_path_type=2/n else/n echo ///'$1///'不是文件也不是文件夹/n fi/nfi/n/n# 标红输出error日志与原因/nshow_error() {/n if [ -z ///'$1///' ]; then/n continue/n fi/n echo ///'$ERROR$@ $RESET///'/n}/n/nwait_error() {/n local error_message=$(cat $1 | grep ///'Wait semphor timeout///')/n # echo $error_message $1/n if [ -z ///'$error_message///' ]; then/n continue/n fi/n show_error ///'//n当前文件 $1//n///' $error_message/n}/n/n# 递归函数,用于遍历文件夹及其子文件夹/nsearch_files() {/n local current_dir=///'$1///'/n for file in ///'$current_dir///'/*; do/n # 音频文件与无类型文件不进行分析/n if [[ -f ///'$file///' && ! ///'$file///' =~ //.(pcm|wav) && ///'(basename ///'$file///')///' == . ]]; then/n wait_error $file/n elif [[ -d ///'$file///' ]]; then/n # 如果遍历到的是文件夹,则递归调用搜索函数/n search_files ///'$file///'/n fi/n done/n}/n/nif [ $file_path_type -eq 2 ]; then/n echo ///'//n文件排查///'/n # 1-读取系统音频失败/n wait_error $1/n/nelse/n echo ///'//n文件夹排查///'/n search_files ///'$1///'/n/nfi/n/necho ///'//n完成//n///
原文地址: https://www.cveoy.top/t/topic/p9Cp 著作权归作者所有。请勿转载和采集!