我感兴趣的是,在对当前环境执行一些命令后,环境变量与干净登录之间的差异。
我认为启动一个新的交互式登录shell (bash)应该在sshing到机器之后立即包含环境,但是我发现运行
env紧接着sshing到机器,然后运行
env -i bash -lc "env"经过一些谷歌搜索和阅读手册页,我仍然不确定差异的来源是什么。这种差异的一些可能来源是什么?
编辑1:仍然显示与env -i bash -ilc "env"的差异
示例比较
3d2
< TERM_PROGRAM=iTerm.app
5,11d3
< SHELL=/bin/bash
< TERM=xterm-256color
< TMPDIR=/var/folders/zx/jf775lqj7ml84vbgnr9rq7v80000gn/T/
< Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.VKm2gsWcqs/Render
< USER=username
< SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.Co4UXQRSmI/Listeners
< __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
17,20d8
< LANG=en_US.UTF-8
< ITERM_PROFILE=Default
< XPC_FLAGS=0x0
< XPC_SERVICE_NAME=0
22,25d9
< COLORFGBG=7;0
< HOME=/Users/username
< ITERM_SESSION_ID=w0t0p0
< LOGNAME=username发布于 2016-01-27 09:49:48
您将从一个交互式shell转到一个非交互式shell,因此您可能会处理不同的启动文件。
https://stackoverflow.com/questions/35027001
复制相似问题