FreeBSD导出csh/tcsh Shell变量

时间:2019-11-20 08:54:00  来源:igfitidea点击:

在FreeBSD操作系统中,如何导出tcsh/csh shell变量?

csh导出变量命令列表

  • envenv | grep var_name设置环境并执行命令,或打印环境变量
  • setenv name value将环境变量名称设置为value并导出
  • echo" $var_name"printf"%FORMAT" $var_name显示环境变量名称的值

FreeBSD显示当前环境变量

在tcsh或csh中查看环境变量的当前名称和值:

setenv

输出示例:

SHELL=/usr/local/bin/bash
TERM=xterm
SSH_CLIENT=10.10.29.66 37484 22
SSH_TTY=/dev/ttyp2
USER=root
PAGER=more
FTP_PASSIVE_MODE=YES
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
MAIL=/var/mail/root
BLOCKSIZE=K
PWD=/root
SHLVL=2
HOME=/root
LOGNAME=root
SSH_CONNECTION=10.10.29.66 37484 10.24.116.2 22
_=/bin/csh
HOSTTYPE=FreeBSD
VENDOR=unknown
OSTYPE=FreeBSD
MACHTYPE=unknown
GROUP=wheel
HOST=vps.theitroad.com
REMOTEHOST=10.10.29.66
EDITOR=vim

导出shell变量

导出并设置新的环境变量:

setenv name value
setenv EDITOR /usr/bin/vim

csh环境变量配置文件是~/.cshrc文件:

alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

setenv  EDITOR  vim
setenv  PAGER   less
setenv  BLOCKSIZE       M

if ($?prompt) then
        # An interactive shell -- set some stuff up
        set prompt = "`/bin/hostname -s`# "
        set filec
        set history = 100
        set savehist = 100
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif
endif

常用的tcsh环境变量

常见的csh环境变量

  • BLOCKSIZE:几个命令使用的块单位的大小,最著名的是df,du和ls。 BLOCKSIZE可以通过指定数字以字节为单位指定,通过指定数字后跟K或k以千字节为单位指定,通过指定数字后跟M或m等以兆字节为单位指定。
  • COLUMNS:用户在终端的列位置上首选的宽度。诸如ls之类的实用程序以及使用它来将输出格式化为列的实用程序。
  • EDITOR:默认的编辑器名称。
  • EXINIT:ex和vi读取的命令的启动列表。
  • HOME:用户登录目录,通过从密码文件/etc/passwd登录设置。
  • LANG:该变量将所有使用setlocale的程序配置为使用指定的语言环境,除非设置了LC_ *变量。
  • MAIL:用户邮箱的位置,而不是/var/mail中的默认邮箱,由mail,sh和许多其他邮件客户端使用。
  • PAGER:默认的分页程序。 mail,man,ftp等使用此变量指定的程序来显示比当前显示更长的信息。
  • PATH:查找可执行文件时,目录顺序,以冒号分隔,由csh,sh,system,execvp等搜索。最初通过登录将PATH设置为/usr/bin:/bin。
  • PRINTER:lpr,lpq和lprm使用的默认打印机的名称。
  • PWD:当前目录路径名。
  • SHELL:用户登录shell的完整路径名。
  • TERM:要为其准备输出的终端的种类。此信息由可能利用特殊终端功能的命令(例如nroff或plot)使用。
  • TMPDIR:用于存储临时文件的目录。大多数应用程序使用/tmp或var/tmp。设置此变量将使他们使用另一个目录。
  • TZ:显示日期时使用的时区。
  • USER:用户的登录名。

tcsh导出变量

定义csh变量

setenv pi 3

使用printf命令/echo命令查看csh变量的值:

echo "$pi"
printf "%d\n" $pi

新建一个tcsh子会话:

tcsh

在子会话中,查看是否继承了父会话中的环境变量:

env | grep pi
echo "$pi"