1#compdef uname guname 2 3typeset -A _uname_args 4local -a args 5 6case $LANG in 7 de_*) 8 _uname_args=( 9 all "alle Grundinformationen ausgeben" 10 kernel-name "Namen des Kernels ausgeben" 11 nodename "Netzwerknamen der Maschine ausgeben" 12 kernel-release "Release-Nummer des Kernels ausgeben" 13 kernel-version "Version des Kernels ausgeben" 14 os-release "Release-Nummer des Betriebssystems ausgeben" 15 machine "Maschinentyp (Hardware) ausgeben" 16 processor "Typ des Prozessors ausgeben" 17 hardware-platform "Hardwareplattform ausgeben" 18 operating-system "Namen des Betriebssystems ausgeben" 19 help "Hilfe anzeigen und beenden" 20 version "Versionsinformation anzeigen und beenden" 21 ) 22 ;; 23 (*) 24 _uname_args=( 25 all "print all basic information" 26 kernel-name "print kernel name" 27 nodename "print network node hostname" 28 kernel-release "print kernel release" 29 kernel-version "print kernel version" 30 os-release "print operating system release level" 31 machine "print machine hardware name" 32 processor "print processor type" 33 hardware-platform "print hardware platform" 34 operating-system "print name of the operating system" 35 help "display help information" 36 version "output version information and exit" 37 ) 38 ;; 39esac 40 41if _pick_variant gnu="Free Soft" unix --version; then 42 _arguments -s \ 43 '(-)'{--all,-a}'['$_uname_args[all]']' \ 44 '(--kernel-name -s)'{--kernel-name,-s}'['$_uname_args[kernel-name]']' \ 45 '(--nodename -n)'{--nodename,-n}'['$_uname_args[nodename]']' \ 46 '(--kernel-release -r)'{--kernel-release,-r}'['$_uname_args[kernel-release]']' \ 47 '(--kernel-version -v)'{--kernel-version,-v}'['$_uname_args[kernel-version]']' \ 48 '(--machine -m)'{--machine,-m}'['$_uname_args[machine]']' \ 49 '(--processor -p)'{--processor,-p}'['$_uname_args[processor]']' \ 50 '(--hardware-platform -i)'{--hardware-platform,-i}'['$_uname_args[hardware-platform]']' \ 51 '(--operating-system -o)'{--operating-system,-o}'['$_uname_args[operating-system]']' \ 52 '(-)--help['$_uname_args[help]']' \ 53 '(-)--version['$_uname_args[version]']' 54else 55 args=( 56 "(-m -n -r -s -v)-a[${_uname_args[all]}]" 57 '-m[print hardware class]' 58 "-n[${_uname_args[nodename]}]" 59 "-p[${_uname_args[processor]}]" 60 "-r[${_uname_args[os-release]}]" 61 "-s[${_uname_args[operating-system]}]" 62 '-v[print detailed operating system version]' 63 ) 64 case $OSTYPE in 65 freebsd*|dragonfly*) args+=( '-i[print kernel ident]' ) ;| 66 freebsd<10->.*) 67 args+=( 68 '-K[print FreeBSD kernel version]' 69 '-U[print FreeBSD user environment version]' 70 ) 71 ;; 72 solaris*) 73 args+=( 74 '-i[print platform name]' 75 '-S[set system name]:system name' 76 '-X[print expanded system information]' 77 ) 78 ;; 79 esac 80 _arguments -s $args 81fi 82