我有以下脚本。
$ cat foo.sh
NAME=bar
while true
do
echo "My name is $NAME"
done
根据我的理解, /proc/pid/environ 包含进程使用的环境变量。但是当我检查时,我没有找到NAME
/proc//environ 中定义的变量。
$ sh foo.sh &
$ strings /proc/$(pidof sh)/environ |grep NAME
HOSTNAME=localhost
LOGNAME=root
我怀疑我对 /proc/pid/environ 的理解是错误的,你能确认该文件是否只包含系统变量,而不包含进程内部使用的变量吗?