![Linux 脚本中 HOSTNAME 和 CURRENT_USER 的使用](https://linux22.com/image/497448/Linux%20%E8%84%9A%E6%9C%AC%E4%B8%AD%20HOSTNAME%20%E5%92%8C%20CURRENT_USER%20%E7%9A%84%E4%BD%BF%E7%94%A8.png)
假设我想编辑/etc/profile
:
PYTHONPATH = /home/CURRENT_USER/
- 我如何拥有多变的它会自动填写当前用户吗?
- 关于什么主机名?
- 这些不是环境变量吗?
答案1
$USER
通常应设置为当前用户和当前主机名。如果没有,您也可以从和的$HOSTNAME
输出中获取它们whoami
hostname
另外,用户的主目录不一定在 中/home/[username]
。您应该使用 的值来$HOME
代替。
答案2
如果您希望查看所有可用的环境变量,请使用以下命令:
bash$ set
记住区分大小写,对于主机名,您需要 $HOSTNAME 和 $USER
bash$ echo $USER
sparks
bash$ echo $HOSTNAME
servername
答案3
另一种方法是添加对sys.addsitedir
insitecustomize.py
而不是 PYTHONPATH 的调用。
但是从 Python 2.6 开始,您可能不需要执行任何操作,因为/home/$USER/.local/lib/python2.6/site-packages
会自动添加到sys.path
。这是放置用户特定模块/包的标准位置的不错选择;您实际上不会想将主目录本身添加为模块路径,因为它包含各种不是模块的东西,这可能会混淆导入。
看PEP370了解详情。
答案4
在 python 中,调用 os.uname() 来获取主机名(以及数组中的其他详细信息)。