Why is my GID environment variable empty?

I try echo $GID but get nothing. However, I can get 1000 by using id -g, what's the differences between them ?

id -u => 1000
id -g => 1000
echo $UID => 1000
echo $GID => 

The output of 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)

The output of groups:

user adm cdrom sudo dip plugdev lpadmin sambashare docker

Ubuntu version:

Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial

1 Answer

I assume you're using bash as your shell. Bash doesn't set a GID variable. The list of Bash variables mentions EUID and UID, but not GID.

Zsh, on the other hand, does set GID:

$ bash -c 'echo $GID'
$ zsh -c 'echo $GID'
1000
6

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like