type=page
status=published
title=unset
next=unset-web-context-param.html
prev=uninstall-node-ssh.html
~~~~~~

unset
=====

[[unset-1]][[GSRFM00247]][[unset]]

unset
-----

Removes one or more variables from the multimode environment

[[sthref2233]]

=== Synopsis

[source]
----
asadmin [asadmin-options] unset [--help]
variable-list
----

[[sthref2234]]

=== Description

The `unset` subcommand removes one or more environment variables that
are set for the multimode environment. After removal, the variables and
their associated values no longer apply to the multimode environment.

To list the environment variables that are set, use the `export`
subcommand without options. If the `export` subcommand lists no
environment variables, no environment variables are set.

This subcommand is supported in local mode only.

[[sthref2235]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.

[[sthref2236]]

=== Operands

variable-list::
  A space-separated list of the environment variables to remove.

[[sthref2237]]

=== Examples

[[GSRFM781]][[sthref2238]]

==== Example 1   Listing the Environment Variables That Are Set

This example uses the `export` subcommand to list the environment
variables that have been set.

[source]
----
asadmin> export
AS_ADMIN_USER = admin
AS_ADMIN_HOST = bluestar
AS_ADMIN_PREFIX = server1.jms-service
AS_ADMIN_PORT = 8000
Command export executed successfully
----

[[GSRFM782]][[sthref2239]]

==== Example 2   Removing an Environment Variable

This example removes the `AS_ADMIN_PREFIX` environment variable.

[source]
----
asadmin> unset AS_ADMIN_PREFIX
Command unset executed successfully
----

[[sthref2240]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref2241]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:export.html#export-1[`export`(1)],
link:multimode.html#multimode-1[`multimode`(1)]


