if [ "$(read_key "$SECURE_KEY")" = "1" ]; then ok "$SECURE_KEY already 1" else set_key_via_settings "$SECURE_KEY" 1 if [ "$(read_key "$SECURE_KEY")" = "1" ]; then ok "set via settings put" else set_key_via_content "$SECURE_KEY" 1 if [ "$(read_key "$SECURE_KEY")" = "1" ]; then ok "set via content insert" else bad "could not set $SECURE_KEY" exit 1 fi fi fi
if ! user_exists "$XSPACE_UID"; then ok "user $XSPACE_UID not present" RESTORE_FLAG=0 else pm remove-user "$XSPACE_UID" >/dev/null 2>&1
if user_exists "$XSPACE_UID"; then for TXN in 12 13 14; do service call user "$TXN" i32 "$XSPACE_UID" >/dev/null 2>&1 sleep 2 user_exists "$XSPACE_UID" || break done fi
if user_exists "$XSPACE_UID" && [ "$ALLOW_SCAN" = "1" ]; then TXN=1 while [ "$TXN" -le "$SCAN_MAX" ]; do service call user "$TXN" i32 "$XSPACE_UID" >/dev/null 2>&1 sleep 1 user_exists "$XSPACE_UID" || break TXN=$((TXN + 1)) done fi
if user_exists "$XSPACE_UID"; then bad "failed to remove user $XSPACE_UID" exit 1 fi ok "user $XSPACE_UID removed" RESTORE_FLAG=1 fi
echo "" echo "== Step 3/3 : restore flag =="
if [ "$RESTORE_FLAG" = "1" ]; then set_key_via_settings "$SECURE_KEY" 0 if [ "$(read_key "$SECURE_KEY")" = "0" ]; then ok "$SECURE_KEY restored to 0" else set_key_via_content "$SECURE_KEY" 0 [ "$(read_key "$SECURE_KEY")" = "0" ] \ && ok "$SECURE_KEY restored to 0" \ || bad "$SECURE_KEY left at $(read_key "$SECURE_KEY")" fi fi
echo "" echo "============================================================" echo " Final Result" echo "============================================================" pm list users 2>/dev/null echo ""
if user_exists "$XSPACE_UID"; then echo " [FAIL] user $XSPACE_UID still present" else echo " [SUCCESS] XSpace user $XSPACE_UID is gone" fi echo ""
执行完上面的脚本后,再输入pm list users命令,就可以看到是否成功删除了,正常情况下是没有了。