环境变量
(1)查看系统的环境变量,终端打开这些变量就已经初始化
user1@SC02ZRC4KMD6N test % env | more
(2)查看指定的系统变量
user1@SC02ZRC4KMD6N test % echo $USER
user1
user1@SC02ZRC4KMD6N test % echo $UID
501
(3)查看命令的搜索路径,比如当我们输入ls的时候,系统会去搜索路径下搜索ls文件
user1@SC02ZRC4KMD6N test % echo $PATH
预定义变量
(1)查看系统的预定义变量
user1@SC02ZRC4KMD6N test % set | more
(2)$? 命令可以查看上一条命令是否执行成功
user1@SC02ZRC4KMD6N test % echo $?
0
user1@SC02ZRC4KMD6N test % ifconfig xx
ifconfig: interface xx does not exist
user1@SC02ZRC4KMD6N test % echo $?
1
(3) 查看当前进程的PID
user1@SC02ZRC4KMD6N test % echo $$
1358
# 查看当前进程的名称
user1@SC02ZRC4KMD6N test % echo $0
-zsh
位置变量
(1)可以理解为定义了形参
user1@SC02ZRC4KMD6N test % cat bb.sh
#!/bin/bash
# $1 $2... $9 $[10]
pos1=$1
pos2=$2
echo $pos1
echo $pos2
user1@SC02ZRC4KMD6N test % chmod u+x bb.sh
user1@SC02ZRC4KMD6N test % ./bb.sh -a -l
-a
-l
(2)当只传入一个参数时,第二个位置输出‘_‘
user1@SC02ZRC4KMD6N test % cat bb.sh
#!/bin/bash
# $1 $2... $9 $[10]
echo $1
echo ${2-_}
user1@SC02ZRC4KMD6N test % ./bb.sh -a
-a
_
user1@SC02ZRC4KMD6N test % ./bb.sh -a -l
-a
-l