export 命令用于设置或显示环境变量
在 shell 中执行程序时,shell 会提供一组环境变量。
export 可新增,修改或删除环境变量,供后续执行的程序使用。
export 的效力仅限于该次登陆操作,而shell脚本中export效力到脚本执行结束为止
export命令
一、语法
export [-fnp][变量名称]=[变量设置值]
参数说明
选项 | 用途 |
---|---|
-f | 代表[变量名称]中为函数名称 |
-n | 删除指定的变量,变量实际上并未删除,只是不会输出到后续指令的执行环境中 |
-p | 列出所有的shell赋予程序的环境变量 |
二、示例
1、命令行直接输入
会一直存在环境中,直到重启才消失。
ubuntu@ubuntu:~/learn/myself/make_l$ export _111
ubuntu@ubuntu:~/learn/myself/make_l$ export -p
declare -x SSH_CLIENT="192.168.25.1 63760 22"
declare -x SSH_CONNECTION="192.168.25.1 63760 192.168.25.128 22"
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="xterm"
declare -x USER="ubuntu"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/var/lib/snapd/desktop"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
declare -x XDG_SESSION_ID="309"
declare -x _111
ubuntu@ubuntu:~/learn/myself/make_l$
2、shell脚本中调用
当脚本执行结束后,该变量就失效了。
ubuntu@ubuntu:~/learn/myself/make_l$ cat build.sh
#!/bin/sh
export learn_path="dsadadsdasddqweqwdasdasd"
make clean
make test_0
make test_1
export -p
ubuntu@ubuntu:~/learn/myself/make_l$ ./build.sh
rm *.o
rm main.out
gcc -c test.c -o test.o
gcc main.c test.o -o main.out
export PWD='/home/ubuntu/learn/myself/make_l'
export SHELL='/bin/bash'
export SHLVL='1'
export SSH_CLIENT='192.168.25.1 63760 22'
export SSH_CONNECTION='192.168.25.1 63760 192.168.25.128 22'
export SSH_TTY='/dev/pts/2'
export TERM='xterm'
export USER='ubuntu'
export XDG_DATA_DIRS='/usr/local/share:/usr/share:/var/lib/snapd/desktop'
export XDG_RUNTIME_DIR='/run/user/1000'
export XDG_SESSION_ID='309'
export _='./build.sh'
export _111='1'
export learn_path='dsadadsdasddqweqwdasdasd'
ubuntu@ubuntu:~/learn/myself/make_l$
declare -x SHLVL="1"
declare -x SSH_CLIENT="192.168.25.1 63760 22"
declare -x SSH_CONNECTION="192.168.25.1 63760 192.168.25.128 22"
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="xterm"
declare -x USER="ubuntu"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/var/lib/snapd/desktop"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
declare -x XDG_SESSION_ID="309"
declare -x _111="1"