GET_ENVIRONMENT_VARIABLE (The GNU Fortran Compiler)

### 8.132 `GET_ENVIRONMENT_VARIABLE` — Get an environmental variable ¶

Synopsis:

  `CALL GET_ENVIRONMENT_VARIABLE(NAME[, VALUE, LENGTH, STATUS, TRIM_NAME)`

Description:

  Get the VALUE of the environmental variable NAME.

  Note that `GET_ENVIRONMENT_VARIABLE` need not be thread-safe. It is the responsibility of the user to ensure that the environment is not being updated concurrently with a call to the `GET_ENVIRONMENT_VARIABLE` intrinsic.

Class:

  Subroutine

Arguments:

  NAME | Shall be a scalar of type `CHARACTER` and of default kind.
  VALUE | (Optional) Shall be a scalar of type `CHARACTER` and of default kind.
  LENGTH | (Optional) Shall be a scalar of type `INTEGER` and of default kind.
  STATUS | (Optional) Shall be a scalar of type `INTEGER` and of default kind.
  TRIM_NAME | (Optional) Shall be a scalar of type `LOGICAL` and of default kind.

Return value:

  Stores the value of NAME in VALUE. If VALUE is not large enough to hold the data, it is truncated. If NAME is not set, VALUE is filled with blanks. Argument LENGTH contains the length needed for storing the environment variable NAME or zero if it is not present. STATUS is -1 if VALUE is present but too short for the environment variable; it is 1 if the environment variable does not exist and 2 if the processor does not support environment variables; in all other cases STATUS is zero. If TRIM_NAME is present with the value `.FALSE.`, the trailing blanks in NAME are significant; otherwise they are not part of the environment variable name.

Example:

      PROGRAM test_getenv
        CHARACTER(len=255) :: homedir
        CALL get_environment_variable("HOME", homedir)
        WRITE (*,*) TRIM(homedir)
      END PROGRAM

Standard:

  Fortran 2003 and later