系统环境变量

十四、Shell篇——系统环境变量_第1张图片

环境变量

(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