docker-redis/redis-cli
2025-11-10 09:36:53 +08:00

52 lines
1.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 获取脚本所在目录的绝对路径
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
# 切换工作目录到脚本所在目录
cd $SCRIPT_DIR
# 加载环境变量
load_env_variables() {
if [ -f ".envrc" ]; then
# 使用direnv加载环境变量
if command -v direnv &> /dev/null; then
eval "$(direnv export bash)"
# 检查REDIS_PASSWORD是否已设置如果未设置则执行direnv allow
if [ -z "$REDIS_PASSWORD" ]; then
echo "⚠️ 检测到需要执行direnv allow来授权环境变量文件"
direnv allow
echo "🔄 重新加载环境变量..."
eval "$(direnv export bash)"
# 再次检查REDIS_PASSWORD是否设置
if [ -z "$REDIS_PASSWORD" ]; then
echo "错误: 密码验证失败,无法继续操作"
return 1
fi
fi
else
echo "错误: 未安装direnv请先安装direnv"
return 1
fi
else
echo "错误: 找不到.envrc文件"
return 1
fi
return 0
}
# 调用函数加载环境变量
if ! load_env_variables; then
echo "无法加载环境变量,脚本退出"
exit 1
fi
# 使用环境变量或默认值
container_name=${REDIS_CONTAINER_NAME:-redis}
redis_port=${REDIS_PORT:-6379}
# 执行Redis CLI命令
docker exec -it $container_name bash -c "redis-cli -p $redis_port -a $REDIS_PASSWORD $@"