mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 18:10:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef id gid
 | |
| 
 | |
| local args choices
 | |
| 
 | |
| if _pick_variant gnu=GNU $OSTYPE --version; then
 | |
|   choices='--help --version -Z --context -g --group -G --groups -u --user'
 | |
|   _arguments \
 | |
|     "($choices)"{-Z,--context}'[print only security context]' \
 | |
|     "($choices)"{-g,--group}'[print only EGID]' \
 | |
|     "($choices -r --real)"{-G,--groups}'[print all GIDs]' \
 | |
|     '(-n --name --help --version)'{-n,--name}'[show name instead of number]' \
 | |
|     '(-r --real -g --groups --help --version)'{-r,--real}'[show real ID instead of effective]' \
 | |
|     "($choices)"{-u,--user}'[print only EUID]' \
 | |
|     '(-z --zero --help --version)'{-z,--zero}'[delimit entries with NUL characters]' \
 | |
|     '(- :)--help[display help information]' \
 | |
|     '(- :)--version[display version]' \
 | |
|     ':user:_users'
 | |
| else
 | |
|   choices="-A -a -c -G -g -M -p -P -u"
 | |
|   args=(
 | |
|     "($choices)-g[print only EGID]"
 | |
|     "($choices -r)-G[print all GIDs]"
 | |
|     "($choices)-u[print only EUID]"
 | |
|     '(-A -c -M -P)-n[show name instead of number]'
 | |
|     '(-A -c -M -P)-r[show real ID instead of effective]'
 | |
|   )
 | |
|   case $OSTYPE in
 | |
|     solaris*)
 | |
|       args+=(
 | |
|         '(-g -G -u -n -r)-a[show user name, user ID and all the groups]'
 | |
| 	'(-g -G -u -n -r)-p[show project membership]'
 | |
|       )
 | |
|     ;;
 | |
|     darwin*|dragonfly*|freebsd*)
 | |
|       args+=( '(-)-P[print id in the form of a password file entry]' )
 | |
|     ;|
 | |
|     darwin*|freebsd*)
 | |
|       args+=(
 | |
| 	'(-)-A[print process audit user ID]'
 | |
| 	'(-)-M[print MAC label of the current process]'
 | |
|       )
 | |
|     ;|
 | |
|     freebsd*) args+=( '(-)-c[print current login class]' ) ;|
 | |
|     darwin*|dragonfly*|freebsd*|netbsd*|openbsd*)
 | |
|       args+=( '(-)-p[human readable output]' )
 | |
|     ;;
 | |
|   esac
 | |
|   _arguments -s $args ':user:_users'
 | |
| fi
 |