File: syslist

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 (68 lines) | stat: -rwxr-xr-x 1,348 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
#!/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.
#
# syslist - 06/14/93
#
#-----------------------------------------------------------------------------
#

findcmd()
{
    CMD=$1

    SRCH=/usr/bin:/bin:/usr/ucb:/etc:/usr/etc:/usr/sbin:/sbin

    SAVEIFS=$IFS
    IFS=:
    set $SRCH
    IFS=$SAVEIFS
    for dir
    do
       [ ! -d $dir/$CMD -a -f $dir/$CMD ] && {
            echo $dir/$CMD
            return
       }
    done
# Try PATH
    IFS=:
    set $PATH
    IFS=$SAVEIFS
    for dir
    do
       [ ! -d $dir/$CMD -a -f $dir/$CMD ] && {
            echo $dir/$CMD
            return
       }
    done
    echo "'$CMD' not in $SRCH:$PATH" 1>&2
}

FIND=`findcmd find`
SED=`findcmd sed`
GREP=`findcmd grep`
SORT=`findcmd sort`
AWK=`findcmd awk`

[ "$FIND" = "" -o "$SED" = "" -o "$GREP" = "" -o \
	"$SORT" = "" -o "$AWK" = "" ] && exit 1


$FIND systems -name config -print |
$SED -e 's/^systems//' -e 's%/config$%%' -e 's%^/%%' -e '/^$/d' |
$GREP -v default |
$SORT |
$SED -e 's/\// /g' |
$AWK '{ if(NF > 2){
           printf("%s ", $1);
           for(i=3;i<=NF;i++)
              printf("%s ", $i);
           printf("\n");
        }
        else
           print;
      }'