TCSH / CSH: set vs setenv Command Differences

https:‮//‬www.lautturi.com
TCSH / CSH: set vs setenv Command Differences

In the tcsh and csh shells, the set and setenv commands are used to set environment variables. However, there are some differences between the two commands:

  1. Scope: The set command sets environment variables that are only available within the current shell. The setenv command sets environment variables that are available to all processes that are run from the current shell.

  2. Persistence: Environment variables set with the set command are lost when the shell exits. Environment variables set with the setenv command are retained even after the shell exits.

  3. Syntax: The set command uses the following syntax:

set variable=value

The setenv command uses the following syntax:

setenv variable value

Note that the setenv command does not use an equal sign (=) to assign the value to the variable.

Here are some examples of using the set and setenv commands in the tcsh and csh shells:

set MYVAR=123
echo $MYVAR  # prints 123
setenv MYVAR 456
echo $MYVAR  # prints 456

In this example, the set command sets the value of MYVAR to 123, and the echo command prints the value of MYVAR. The setenv command then sets the value of MYVAR to 456, and the echo command prints the updated value.

Created Time:2017-10-30 14:27:21  Author:lautturi