为什么我的 GID 环境变量是空的?

Cor*_*rey 8 environment-variables groups uid

我尝试echo $GID但一无所获。但是,我可以通过使用获得 1000 id -g,它们之间有什么区别?

id -u     => 1000
id -g     => 1000
echo $UID => 1000
echo $GID => 
Run Code Online (Sandbox Code Playgroud)

的输出id

uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),999(docker)
Run Code Online (Sandbox Code Playgroud)

的输出groups

user adm cdrom sudo dip plugdev lpadmin sambashare docker
Run Code Online (Sandbox Code Playgroud)

Ubuntu 版本:

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial
Run Code Online (Sandbox Code Playgroud)

Olo*_*rin 11

我假设您使用 bash 作为 shell。Bash 不设置GID变量。该猛砸变量列表提到EUIDUID,但不会GID

另一方面,Zsh确实设置了GID

$ bash -c 'echo $GID'

$ zsh -c 'echo $GID'
1000
Run Code Online (Sandbox Code Playgroud)

  • @Corey `echo $GID` 在我的终端中会在 zsh 中运行它,因为我使用 zsh 作为我的 shell。在您的终端中,它可能在 bash 中运行。我使用 `bash -c ...` 专门在 bash 中运行命令。 (2认同)
  • @Corey 使用命令`cat /etc/group | grep ^your_group_name | 剪切 -d: -f3` (2认同)