---
name: "Tcl_PutEnv"
section: "3tcl"
platform: "linux"
package: "tcl8.6-doc"
version: "8.6.16+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tcl_PutEnv/3tcl"
---

# Tcl\_PutEnv(3tcl)

procedures to manipulate the environment

```

```

## NAME

Tcl\_PutEnv - procedures to manipulate the environment

## SYNOPSIS

```
#include <tcl.h>

int
Tcl_PutEnv(assignment)
```

## ARGUMENTS

- const char *\*assignment* (in)

  Info about environment variable in the format “*NAME***=***value*”. The *assignment* argument is in the system encoding.

  ```

  ```

## DESCRIPTION

**Tcl\_PutEnv** sets an environment variable. The information is passed in a single string of the form “*NAME***=***value*”. This procedure is intended to be a stand-in for the UNIX **putenv** system call. All Tcl-based applications using **putenv** should redefine it to **Tcl\_PutEnv** so that they will interface properly to the Tcl runtime.

## SEE ALSO

[env(3tcl)](/env/3tcl.md)

## KEYWORDS

environment, variable
