A veces uso, $PROJECT_HOME/*
para eliminar todos los archivos del proyecto. Cuando PROJECT_HOME
no se establece la variable de entorno (porque lo hice su
y el nuevo usuario no tiene esta variable de entorno establecida), comienza a eliminar todos los archivos de la carpeta raíz. Esto es apocalíptico.
¿Cómo puedo configurar el bash
error de lanzamiento cuando uso una variable de entorno indefinida en el shell?
[ -z "$VAR" ]
funciona con un no inicializado VAR
también. La inicialización fue solo para mostrar el comportamiento indeseable. Mi punto es que si alguna vez sus vars se inicializan en cadenas vacías, de cualquier manera, y usted corre rm -r "$PROJECT_HOME"/*
confiando erróneamente set -u
, obtendrá el comportamiento "apocalíptico". IHMO, es mejor prevenir que curar cuando se trata de proteger todo el contenido de su computadora. set -u
no es seguro.
PROJECT_HOME=/etc
? Simplemente verificar un valor vacío no es suficiente para prevenir el cataclismo. No debe usar variables de usuarios no confiables cuando se ejecuta como root.
set -u
Hará lo que quieras.