File: get_osname

package info (click to toggle)
pcp 7.0.5-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 252,916 kB
  • sloc: ansic: 1,478,844; sh: 177,285; xml: 160,462; cpp: 83,809; python: 24,349; perl: 18,303; yacc: 6,877; lex: 2,864; makefile: 2,694; awk: 165; fortran: 60; java: 52
file content (120 lines) | stat: -rwxr-xr-x 2,840 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/sh
#
# Suss out what sort of Operating System I am ...
#

debug=false

from=''
if which uname >/dev/null 2>&1
then
    os="`uname -sr`"
    $debug && from=' [uname -sr]'
else
    os=unknown
fi

if [ -f /etc/SuSE-release ]
then
    # SUSE Linux Enterprise Server 11 (ia64)
    os=`sed </etc/SuSE-release -n -e '1{
s/ (.*//
s/Linux Enterprise Server /SLES/
p
}'`
    os="$os`sed </etc/SuSE-release -n -e '/^PATCHLEVEL /{
s/.*=[ 	]*/ SP/
p
}'`"
    os="$os`sed </etc/SuSE-release -n -e '/^CODENAME /{
s/.*=[ 	]*/ (/
s/$/)/
p
}'`"
    $debug && from=' [/etc/SuSE-release]'
elif [ -f /etc/centos-release ]
then
    # CentOS release 6.5 (Final)
    os=`sed </etc/centos-release -n -e '1{
s/ release //
p
}'`
    $debug && from=' [/etc/centos-release]'
elif [ -f /etc/lsb-release ]
then
    # Debian-based distros tend to use this way
    # DISTRIB_ID=LinuxMint
    # DISTRIB_RELEASE=12
    # DISTRIB_CODENAME=lisa
    #
    id=`sed </etc/lsb-release -n -e '/^DISTRIB_ID *= */s///p'`
    release=`sed </etc/lsb-release -n -e '/^DISTRIB_RELEASE *= */s///p'`
    codename=`sed </etc/lsb-release -n -e '/^DISTRIB_CODENAME *= */s///p'`
    os="$id $release ($codename)"
    $debug && from=' [/etc/lsb-release]'
elif [ -f /etc/debian_version ]
then
    # 6.0.1
    #
    os="Debian `cat /etc/debian_version`"
    $debug && from=' [/etc/debian_version]'
elif [ -f /etc/mandriva-release ]
then
    # Mandriva Linux release 2011.0 (Official) for x86_64
    #
    os=`sed </etc/mandriva-release -e 's/ release / /' -e 's/ (Official)/ /' -e 's/ for .*//'`
    $debug && from=' [/etc/mandriva-release]'
elif [ -f /etc/redhat-release ]
then
    # CentOS release 5.6 (Final)
    #
    os=`sed </etc/redhat-release -e 's/ release / /'`
    $debug && from=' [/etc/redhat-release]'
elif [ -f /etc/gentoo-release ]
then
    # Gentoo Base System release 2.0.3
    #
    os=`sed </etc/gentoo-release -e 's/ release / /' -e 's/ Base System / /'`
    $debug && from=' [/etc/gentoo-release]'
elif [ -f /etc/system-release ]
then
    # Fedora release 15 (Lovelock)
    #
    os=`sed </etc/system-release -e 's/ release / /'`
    $debug && from=' [/etc/system-release]'
elif [ -f /etc/os-release ]
then
    # NAME=openSUSE
    # VERSION = 12.1 (Asparagus)
    #
    name=`sed </etc/os-release -n -e '/^NAME *= */s///p'`
    ver=`sed </etc/os-release -n -e '/^VERSION *= */s///p'`
    os="$name $ver"
    $debug && from=' [/etc/os-release]'
elif [ -f /etc/release ]
then
    #    OpenSolaris 2010.05 snv_134b X86
    #    OpenIndiana Development oi_148 X86
    #
    try=`sed </etc/release -n -e '/Open[A-Z]/{
s/.*Open/Open/
s/ /~/
s/ /~/
s/ .*//
s/~/ /g
p
}'`
    if [ -n "$try" ]
    then
	os="$try"
	$debug && from=' [/etc/release]'
    fi
elif [ -f /etc/slackware-version ]
then
    os=`cat /etc/slackware-version`
fi

echo "$os"
$debug && echo "$from"

exit 0