terraform/website/docs/commands/console.html.markdown

59 lines
1.8 KiB
Markdown

---
layout: "docs"
page_title: "Command: console"
sidebar_current: "docs-commands-console"
description: |-
The `terraform console` command provides an interactive console for
evaluting expressions.
---
# Command: console
The `terraform console` command provides an interactive console for
evaluating [expressions](/docs/configuration/expressions.html).
## Usage
Usage: `terraform console [options] [dir]`
This command provides an interactive command-line console for evaluating and
experimenting with [expressions](/docs/configuration/expressions.html).
This is useful for testing interpolations before using them in configurations,
and for interacting with any values currently saved in
[state](/docs/state/index.html).
If the current state is empty or has not yet been created, the console can be
used to experiment with the expression syntax and
[built-in functions](/docs/configuration/functions.html).
The `dir` argument specifies the directory of the root module to use.
If a path is not specified, the current working directory is used.
The supported options are:
* `-state=path` - Path to a local state file. Expressions will be evaluated
using values from this state file. If not specified, the state associated
with the current [workspace](/docs/state/workspaces.html) is used.
You can close the console with the `exit` command or by pressing Control-C
or Control-D.
## Scripting
The `terraform console` command can be used in non-interactive scripts
by piping newline-separated commands to it. Only the output from the
final command is printed unless an error occurs earlier.
For example:
```shell
$ echo "1 + 5" | terraform console
6
```
## Remote State
If [remote state](/docs/state/remote.html) is used by the current backend,
Terraform will read the state for the current workspace from the backend
before evaluating any expressions.