renviron 0.6.0
administra archivos .Renviron y nombres personalizados. La
lectura devuelve una lista sin modificar la sesión; la carga aplica solo
las claves elegidas. Los ejemplos usan datos inventados y archivos
temporales.
| Función | Lee el archivo | Cambia la sesión | Guarda el archivo |
|---|---|---|---|
renviron_read() |
Sí | No | No |
renviron_get(), renviron_exists(),
renviron_list() |
Si no se pasa una lista | No | No |
renviron_load() |
Sí | Claves seleccionadas | No |
renviron_add(), renviron_delete() |
Si no se pasa una lista | Solo la clave indicada | Con in_place=TRUE |
renviron_save() |
No interpreta el contenido previo | No | Reemplazo completo |
renviron_unset_all() |
Sí | Retira las claves seleccionadas | No |
renviron_list() devuelve una máscara constante por
variable. renviron_read() y renviron_get()
devuelven valores reales: evite imprimir sus resultados cuando contengan
información privada. El enmascaramiento es una ayuda de presentación; no
cifra archivos.
El guardado de una clave conserva comentarios y expresiones de las otras claves. El valor dependiente se recalcula al leer de nuevo; su versión en la sesión solo cambia al cargarlo explícitamente.
local({
withr::local_envvar(c(RNV_DEMO = "parent", RNV_COPY = "parent-copy"))
path <- tempfile()
on.exit(unlink(path))
writeLines(c("# invented configuration", "RNV_DEMO='one=two'",
"RNV_COPY='${RNV_DEMO}'"), path)
values <- renviron::renviron_read(.file = path)
stopifnot(values$RNV_COPY == "one=two", Sys.getenv("RNV_DEMO") == "parent")
renviron::renviron_add("RNV_DEMO", "updated", .file = path,
in_place = TRUE, confirm = FALSE)
stopifnot(Sys.getenv("RNV_COPY") == "parent-copy")
renviron::renviron_load(.file = path, .vars = "RNV_COPY")
stopifnot(Sys.getenv("RNV_COPY") == "updated")
print(renviron::renviron_list(.file = path))
renviron::renviron_delete("RNV_DEMO", .file = path,
in_place = TRUE, confirm = FALSE)
stopifnot(!renviron::renviron_exists("RNV_DEMO", .file = path))
})## RNV_DEMO RNV_COPY
## "*****" "*****"