jq 禁止调试


$(".panel").slideToggle("slow");//如果显示则隐藏,如果隐藏则显示

启动vs调试 jq 需要改变IE设置


#!/bin/sh JSON_FILE="/nandflash/config/dll_bin_sh_md5.json" UPGRADE_BK="/nandflash/upgrade/bk" UPGRADE_NEW="/nandflash/upgrade/new" NANDFLASH_DIR="/nandflash" LIB_DIR="$NANDFLASH_DIR/lib" BIN_DIR="$NANDFLASH_DIR/bin" TMP_FILE="/tmp/md5_check.tmp" TMP_JSON="/tmp/json_entries.tmp" UPDATE_FLAG_FILE="/nandflash/config/update_flag.json" # 检查jq工具是否安装 if ! command -v jq >/dev/null 2>&1; then exit 1 fi # 创建临时文件存储标志 : > "$TMP_FILE" # 将JSON条目保存到临时文件 jq -c '.[]' "$JSON_FILE" > "$TMP_JSON" # 处理JSON中的每个条目 while IFS= read -r entry; do name=$(echo "$entry" | jq -r '.name') expected_md5=$(echo "$entry" | jq -r '.md5') id=$(echo "$entry" | jq -r '.id') # 确定文件路径 if echo "$name" | grep -q '^lib.*\.so$'; then file_path="$LIB_DIR/$name" else file_path="$BIN_DIR/$name" fi # 检查文件是否存在 if [ ! -f "$file_path" ]; then echo "$id:$name:1" >> "$TMP_FILE" continue fi # 计算实际MD5值 actual_md5=$(md5sum "$file_path" | awk '{print $1}') # 比较MD5值 if [ "$actual_md5" != "$expected_md5" ]; then echo "$id:$name:1" >> "$TMP_FILE" else echo "$id:$name:0" >> "$TMP_FILE" fi done < "$TMP_JSON" # 仅在有更新时修改update_flag.json if grep -q '1' "$TMP_FILE"; then # 如果原update_flag.json不存在,则创建新文件 if [ ! -f "$UPDATE_FLAG_FILE" ]; then echo "[" > "$UPDATE_FLAG_FILE" first_entry=1 while IFS=: read -r id name flag; do if [ "$first_entry" -eq 1 ]; then first_entry=0 else echo "," >> "$UPDATE_FLAG_FILE" fi printf ' {"id": %d, "name": "%s", "flag": %d}' "$id" "$name" "$flag" >> "$UPDATE_FLAG_FILE" done < <(sort -n "$TMP_FILE") echo -e "\n]" >> "$UPDATE_FLAG_FILE" else # 如果原文件存在,则仅更新flag=1的条目 tmp_output="/tmp/update_flag.tmp" cp "$UPDATE_FLAG_FILE" "$tmp_output" while IFS=: read -r id name flag; do if [ "$flag" -eq 1 ]; then # 使用jq直接修改原JSON中对应id的flag值 jq --arg id "$id" --arg flag "$flag" \ '(.[] | select(.id == ($id | tonumber)).flag) |= ($flag | tonumber)' \ "$tmp_output" > "${tmp_output}.new" && mv "${tmp_output}.new" "$tmp_output" fi done < <(sort -n "$TMP_FILE") # 确保格式正确 jq '.' "$tmp_output" > "$UPDATE_FLAG_FILE" rm -f "$tmp_output" fi fi # 如果需要更新,执行一次拷贝和解压 if grep -q '1' "$TMP_FILE"; then # 复制BK内容到NEW目录 if [ -d "$UPGRADE_BK" ]; then cp -R "$UPGRADE_BK"/* "$UPGRADE_NEW"/ fi # 复制并解压nandflash.tar(只执行一次) if [ -f "$UPGRADE_BK/nandflash.tar" ]; then cp "$UPGRADE_BK/nandflash.tar" "$NANDFLASH_DIR"/ cd "$NANDFLASH_DIR" && tar -xf nandflash.tar fi fi # 清理临时文件 rm -f "$TMP_FILE" "$TMP_JSON"为我整理脚本,使其无错误root@lig-ppc:~# ./test.sh ./test.sh: line 67: syntax error: unexpected redirection root@lig-ppc:~#
最新发布
07-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值