diff --git a/src/redis-cli.c b/src/redis-cli.c index 8c8b9a68..d7b684c9 100644 --- a/src/redis-cli.c +++ b/src/redis-cli.c @@ -68,6 +68,7 @@ #define REDIS_CLI_RCFILE_ENV "REDISCLI_RCFILE" #define REDIS_CLI_RCFILE_DEFAULT ".redisclirc" #define REDIS_CLI_AUTH_ENV "REDISCLI_AUTH" +#define REDIS_CLI_CLUSTER_YES_ENV "REDISCLI_CLUSTER_YES" #define CLUSTER_MANAGER_SLOTS 16384 #define CLUSTER_MANAGER_MIGRATE_TIMEOUT 60000 @@ -1430,6 +1431,11 @@ static void parseEnv() { if (auth != NULL && config.auth == NULL) { config.auth = auth; } + + char *cluster_yes = getenv(REDIS_CLI_CLUSTER_YES_ENV); + if (cluster_yes != NULL && !strcmp(cluster_yes, "1")) { + config.cluster_manager_command.flags |= CLUSTER_MANAGER_CMD_FLAG_YES; + } } static sds readArgFromStdin(void) { @@ -1538,6 +1544,9 @@ static void usage(void) { } static int confirmWithYes(char *msg) { + if (config.cluster_manager_command.flags & CLUSTER_MANAGER_CMD_FLAG_YES) { + return 1; + } printf("%s (type 'yes' to accept): ", msg); fflush(stdout); char buf[4];