---
name: "icon"
section: "1"
platform: "linux"
package: "icont"
version: "9.5.24b-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/icon"
---

# icon(1)

execute Icon program

## NAME

icon - execute Icon program

## SYNOPSIS

**icon** sourcefile \[ arg ... \]\
 **icon -P** 'program' \[ arg ... \]

## DESCRIPTION

*Icon* is a simple interface for executing programs written in the Icon programming language. The source code is translated and linked, then executed with the given list of arguments.

Without **-P**, a single source file is read; its name must be given exactly and need not end in **.icn**. A sourcefile name of **-** reads the source code from standard input.

With **-P**, a small program can be embedded within a larger shell script. In this case the *program* argument is a complete Icon program, typically given as a multi-line quoted string.

Translation and linking is silent, suppressing progress messages, and undeclared identifiers are diagnosed. This mirrors the behavior of the  *icont* command when run with **-s** and **-u** options.

An Icon source file can be made directly executable by setting the appropriate permission bits and beginning it with a shell header. If the first line of the file is **#!/usr/bin/env icon** then *icon* is found on the command search path and called to process the program upon execution.

## ENVIRONMENT

The environment variables described under [*icont*(1)](/icont/1.md) can also be used with the *icon* command. Normally, none of these are needed. The directory containing *sourcefile* is searched first for any **$include** files.

## SEE ALSO

[**icont**(1)](/icont/1.md), the full-featured interface supporting separate compilation, multiple source files, and other features.

*The Icon Programming Language*.\
 Griswold and Griswold, Peer-to-Peer, third edition, 1996.\
 http://www.cs.arizona.edu/icon/lb3.htm.

*Graphics Programming in Icon*.\
 Griswold, Jeffery, and Townsend, Peer-to-Peer, 1998.\
 http://www.cs.arizona.edu/icon/gb/index.htm.

*The Icon Programming Language*.\
 http://www.cs.arizona.edu/icon/.
