File: gethostinfo

package info (click to toggle)
tiger 2.2.4-22
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,188 kB
  • ctags: 240
  • sloc: sh: 8,388; ansic: 2,109; makefile: 141; perl: 106
file content (111 lines) | stat: -rwxr-xr-x 1,924 bytes parent folder | download
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
#!/bin/sh
#
#     tiger - A UN*X security checking system
#     Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford
#
#     Please see the file `COPYING' for the complete copyright notice.
#
# util/gethostinfo - 04/22/93
#
#-----------------------------------------------------------------------------
#

findcmd()
{
  CMD=$1

  SRCH=/bin:/usr/bin:/etc:/usr/etc:/usr/ucb
  
  SAVEIFS=$IFS
  IFS=:
  set $SRCH
  IFS=$SAVEIFS
  for dir
  do
    [ $TESTEXEC $dir/$CMD ] && {
      echo $dir/$CMD
      return
    }
  done
}

TESTEXEC=-x
( [ $TESTEXEC /bin/sh ] ) 2> $WORKDIR/te.$$
[ -s $WORKDIR/te.$$ ] && TESTEXEC=-f
export TESTEXEC

RM=`findcmd rm`
[ -n "$RM" ] && $RM $WORKDIR/te.$$
AWK=`findcmd awk`

#------------------------------------------------------------------------
# This should get:
#
#    Sun, Cray, AIX, HP-UX, IRIX
#
UNAME=`findcmd uname`

[ -n "$UNAME" ] && {
  $UNAME -a |
  $AWK '
         {
	   if($5 == "CRAY"){
		printf("UNICOS %s %s.%s\n", $3, $5, $6);
	   }
  	   else if($1 == "SunOS"){
   	        printf("%s %s %s\n", $1, $3, $5);
	   }
	   else if($1 == "AIX"){
	        printf("%s %s.%s RS6000\n", $1, $4, $3);
	   }
	   else if($1 == "HP-UX"){
                printf("HPUX %s %s\n", $3, $5);
           }
           else if($1 == "IRIX"){
                printf("IRIX %s %s\n", $3, $5);
           }
	   else if($1 == "Linux"){
		printf("Linux %s %s\n",$3, $11);
	   }
	 }
  '
  exit
}

#------------------------------------------------------------------------
# This should get:
#
#    NeXT
#
HOSTINFO=`findcmd hostinfo`

[ -n "$HOSTINFO" ] && {
  $HOSTINFO |
  $AWK '
        BEGIN {
	  OS="";
	  REV="";
	  ARCH="";
	}
	NR == 2 {
          OS=$1
	  REV=substr($3,1,length($3)-1);
	}
	NR == 6 && NF == 4 {
	  ARCH=substr($4,2,length($4)-2);
   	}
	NR == 6 && NF == 3 {
	  ARCH=$3
	}
	END {
	  printf("%s %s %s\n", OS, REV, ARCH);
	}
  '
  exit
}
#
exit 0
#
exit 0
#
exit 0