Unix/Linux:TCSH/CSH Shell设置变量

时间:2020-01-09 10:43:51  来源:igfitidea点击:

在FreeBSD UNIX或者Linux操作系统下,如何使用c shell(tcsh或者csh)设置环境变量?如何在类似操作系统的Unix下使用csh shell保存变量?您可以在c shell(tcsh/csh)下使用set或者setenv命令来设置环境变量。 c shell使用以下语法来设置环境变量,并且通常用于

  • 设置或者修改PATH。
  • 设置您的默认(首选)编辑器。
  • 设置寻呼机等。

setenv命令语法

如果使用csh或者tcsh,则在shell提示符下执行:

setenv var value

在此示例中,在名为vech的csh(和tcsh)中将环境变量设置为bus:

setenv vech bus

要显示$vech的值,请执行:

echo "$vech"

或者

printf "%s\n" "$vech"

在此示例中,修改路径,执行:

setenv PATH $PATH\:/dir/path
setenv PATH $PATH\:/usr/local/app1/bin

要查看所有变量,请执行:

setenv

输出示例:

_=/bin/csh
OLDPWD=/home/Hyman
PWD=/home/Hyman
SHLVL=2
USER=Hyman
LOGNAME=Hyman
HOME=/home/Hyman
MAIL=/var/mail/Hyman
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/Hyman/bin
TERM=xterm
FTP_PASSIVE_MODE=YES
BLOCKSIZE=K
SHELL=/usr/local/bin/zsh
SSH_CLIENT=192.168.1.5 57038 22
SSH_CONNECTION=192.168.1.5 57038 192.168.1.109 22
SSH_TTY=/dev/pts/0
HOSTTYPE=FreeBSD
VENDOR=unknown
OSTYPE=FreeBSD
MACHTYPE=unknown
GROUP=Hyman
HOST=fdbsd9
REMOTEHOST=192.168.1.5
EDITOR=vi
PAGER=more

设置命令语法

语法为:

set var=val
set foo=bar
echo "$foo"

~/.cshrc文件

您可以在$HOME/.cshrc文件中设置setenv和其他命令。
该文件位于您的主目录中,每当c shell启动时,该文件就会被读取。
如果是登录脚本,则在.cshrc文件之后读取.login文件。
在此示例中,将默认寻呼机设置为大多数并添加到~/.cshrc文件

echo 'setenv PAGER most' >> $HOME/.cshrc

csh:设置与setenv

您可以使用set或者setenv命令初始化变量,其中set用于当前shell,setenv用于当前shell和任何子shell(即它将自动将变量导出到subshell)。

setenv应该用于PATH,HOME和所有其他与系统相关的环境设置。
仅在csh脚本中使用set命令。