#!/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是否已设置 if [ -z "$REDIS_PASSWORD" ]; then echo "错误: 密码验证失败,无法继续操作" return 1 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 $@"