环境变量
使用env命令可以查看到当前工作环境下的环境变量
[root@VM_158_86_centos vbird]# env
XDG_SESSION_ID=665714
HOSTNAME=VM_158_86_centos
NVM_CD_FLAGS=
TERM=xterm-256color
SHELL=/bin/bash
HISTSIZE=3000
SSH_TTY=/dev/pts/0
NVM_DIR=/root/.nvm
USER=root
环境变量$PATH
[root@VM_158_86_centos vbird]# echo $PATH
/root/.nvm/versions/node/v10.7.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
位置变量
$n 传递给脚本或函数的参数。n是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
预定义变量
$0 当前脚本的文件名
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。可以当作数组用 被双引号(" ")包含时,与 $* 稍有不同
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
exec:
#!/bin/bash
#expr表示后面的表达式为一个数学运算
#Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含>了空格或其他特殊字符,则必须引起来。
let sum=$1+$2
#运算符+号前后必须加空格
sum_expr=`expr $1 + $2`
echo $sum
echo $sum_expr
echo "fileName:$0"
echo "this Shell PID:$$"
echo "first parameters:$1"
echo "second parameters:$2"
echo "all parameters:$*"
echo "all parameters array:$@"
echo "parameters numbers:$#"
echo "the previous command exec status:$?"
result:
[root@VM_158_86_centos vbird]# sh special_var.sh 1 2
3
3
fileName:special_var.sh
this Shell PID:4057
first parameters:1
second parameters:2
all parameters:1 2
all parameters array:1 2
parameters numbers:2
the previous command exec result:0