Next: SYSTEM_CLOCK, Previous: SYMLNK, Up: Intrinsic Procedures [Contents][Index]

### 9.252 `SYSTEM` — Execute a shell command

Description:

  Passes the command COMMAND to a shell (see `system(3)`). If argument STATUS is present, it contains the value returned by `system(3)`, which is presumably 0 if the shell command succeeded. Note that which shell is used to invoke the command is system-dependent and environment-dependent.

  This intrinsic is provided in both subroutine and function forms; however, only one form can be used in any given program unit.

  Note that the `system` function need not be thread-safe. It is the responsibility of the user to ensure that `system` is not called concurrently.

Standard:

  GNU extension

Class:

  Subroutine, function

Syntax:

  `CALL SYSTEM(COMMAND [, STATUS])`
  `STATUS = SYSTEM(COMMAND)`

Arguments:

  COMMAND | Shall be of default `CHARACTER` type.
  STATUS | (Optional) Shall be of default `INTEGER` type.

See also:

  EXECUTE_COMMAND_LINE, which is part of the Fortran 2008 standard and should considered in new code for future portability.