#!/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