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变量中此变量仍然存在