env   

set   unset

declare

$HOME

$PATH

$SHELL

$UID

$USER


set命令显示当前shell的变量,包括当前用户的变量;
env命令显示当前用户的变量;
export命令显示当前导出成用户变量的shell变量。

set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。使用set更改shell特性时,符号"+"和"-"的作用分别是打开和关闭指定的模式。set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可。

#<==赋值时不加引号变量名='value'       
#<==赋值时加单引号变量名="value"       
#<==赋值时加双引号
变量名=value         

a = 10
echo "a=$a"

cmd=`ls -al`
cmd1=$(ls -al)

echo $cmd
echo $cmd1

#2019-08-08 格式
CMD=$(date +%F)
echo $CMD

echo `date +%F`.tar.gz
echo $(date +%F).tar.gz   
#<==获取主机名并赋值给H变量
$(uname -n)       

#<==将主机名作为压缩包名
tar zcf $H.tar.gz /etc/services  

   

# 查看java环境变量
env | grep JAVA
declare var=value(与之等价的是 var=value,typeset var=value)

declare -x var=value 声明一个变量并直接输出到环境变量,也可以加上-r参数表示只读变量。

unset var 可以删除变量,包括shell变量和环境变量(当前用户变量),不能够删除具有只读属性的shell变量和环境变量。

set -a var  可以将var变量输出到环境变量

env可以查看所有的环境变量,可以加管道命令与grep命令过滤变量

export var=value用于定义一个环境变量,等价于declare -x var=name

export -n var 用于从环境变量删除此变量,但是shell变量中此变量仍然存在

 

 

shell 环境变量_赋值