Shell 腳本:通過 redis-cli 執行模糊匹配並刪除 Redis 中的指定 key

#!/bin/bash

HOST=localhost
PORT=6379

while [[ $# -ge 1 ]]; do
    case $1 in
        -h )
            HOST=$2
            shift 2
            ;;
        -p )
            PORT=$2
            shift 2
            ;;
        -a )
            PASSWORD=$2
            shift 2
            ;;
        * )
            PATTERN=$1
            echo "DEL with pattern: $PATTERN"
            shift   
            ;;
    esac
done

if [ x"$PASSWORD" = x ]; then
    echo "redis-cli -h $HOST -p $PORT KEYS \"$PATTERN\" | xargs redis-cli -h $HOST -p $PORT DEL"
    redis-cli -h $HOST -p $PORT KEYS "$PATTERN" | xargs redis-cli -h $HOST -p $PORT DEL 
else
    echo "redis-cli -h $HOST -p $PORT -a $PASSWORD KEYS \"$PATTERN\" | xargs redis-cli -h $HOST -p $PORT -a $PASSWORD DEL"
    redis-cli -h $HOST -p $PORT -a $PASSWORD KEYS "$PATTERN" | xargs redis-cli -h $HOST -p $PORT -a $PASSWORD DEL
fi

執行效果展示

$ sh redis-cli-del-like.sh "*"
DEL with pattern: *
redis-cli -h localhost -p 6379 KEYS "*" | xargs redis-cli -h localhost -p 6379 DEL
(integer) 2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章