environment-variables - sierra - variables de entorno linux
modismos csh para comprobar la existencia de variable de entorno? (2)
Creo que la forma en que lo está haciendo (una instrucción if
con una condición que usa la sintaxis de $?VAR
, que se evalúa como 1 si la variable está establecida, y 0 en caso contrario) es probablemente la construcción csh
más idiomática que hace lo que usted quiere.
Tengo algunos scripts csh en los que necesito comprobar que ciertas variables de entorno están configuradas antes de comenzar a hacer cosas, así que hago este tipo de cosas:
if ! $?STATE then
echo "Need to set STATE"
exit 1
endif
if ! $?DEST then
echo "Need to set DEST"
exit 1
endif
que es mucha escritura. ¿Existe un lenguaje más elegante para verificar si una variable de entorno ya está configurada?
Notas:
- Esta pregunta es bastante similar, pero específicamente pregunta sobre soluciones en bash.
- No busco personas que me aconsejen que me mantenga alejado de csh porque está maldito, da miedo o bash es mejor. Estoy específicamente interesado en una solución más elegante que la que estoy usando ahora.
Pruebe lo siguiente:
[ -z STATE ] && echo "Need to set STATE"
[ ! -z DEST ] && echo "Need to set STATE"