43 lines
1.1 KiB
Bash
Executable File
43 lines
1.1 KiB
Bash
Executable File
#!/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 $@"
|