在Linux中,env
命令用于显示当前用户的环境变量
- 使用
sudo
命令:
如果你想让一个普通用户拥有另一个用户的特定环境变量,你可以使用sudo
命令。例如,假设你想让普通用户user2
拥有用户user1
的PATH
环境变量,你可以这样做:
sudo -u user2 env PATH=$PATH bash
这将启动一个新的bash shell,其中PATH
环境变量设置为user1
的PATH
值。
- 使用
export
命令:
你可以在一个用户的shell中设置环境变量,并使用export
命令将其导出。然后,你可以使用sudo
命令在新用户的shell中运行一个命令,该命令使用这些环境变量。例如:
export MY_VARIABLE="my_value" sudo -u user2 bash -c 'echo $MY_VARIABLE'
这将输出my_value
,因为在执行sudo -u user2 bash -c
命令时,MY_VARIABLE
环境变量已经被导出。
- 使用
su
命令:
与sudo
类似,你可以使用su
命令切换到另一个用户,并在新用户的shell中设置环境变量。例如:
su - user2 -c 'export MY_VARIABLE="my_value"; bash'
这将启动一个新的bash shell,其中MY_VARIABLE
环境变量设置为my_value
。
请注意,这些方法仅在同一台计算机上有效。如果你需要在多台计算机之间共享环境变量,你可能需要考虑其他方法,例如使用配置管理工具(如Ansible、Chef或Puppet)或创建一个共享的shell脚本。