SUMMARY - shcat command in /etc/rcS.d/S30rootusr.sh On Solaris 2.5/4

From: Stotsky Haim (stots@elbit.co.il)
Date: Mon Jan 13 1997 - 10:24:52 CST


hello,

I got a lot of answers and i want to thank all the good people
that answer my question.

i choose to include only two answers because they represent
most of the answers.

The original question was :

> Hello,
>
> Does anyone knows where is the location of the "shcat" command
> that the /etc/rcS.d/S30rootusr.sh use two times in the procedure:
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> if test "$interface_names" != "/etc/hostname.*[0-9]"
> then
> (
> echo "configuring network interfaces:\c"
> IFS="$IFS."
> set `echo /etc/hostname\.*[0-9]`
> while test $# -ge 2
> do
> shift
> if [ "$1" != "xx0" ]; then
> addr=`shcat /etc/hostname\.$1`
> ==============================
> /sbin/ifconfig $1 plumb
> if test -n "$addr"
> then
> /sbin/ifconfig $1 inet "$addr"
> netmask + \
> broadcast + -trailers up
\
> 2>&1 > /dev/null
> fi
> echo " $1\c"
> fi
> shift
> done
> echo "."
> )
> fi
>
> #
> # configure the rest of the interfaces automatically, quietly.
> #
> /sbin/ifconfig -ad auto-revarp netmask + broadcast + -trailers up \
> 2>&1 >/dev/null
>
> #
> # Set the hostname from a local config file, if one exists.
> #
> hostname="`shcat /etc/nodename 2>/dev/null`"
> ==============================
> if [ ! -z "$hostname" ]; \
> then
> /sbin/uname -S $hostname
> fi
>
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> any ideas ?
>
> Stots
>

The solutions :
===============

>From andy_gay@VNET.IBM.COM

shcat is a shell function defined in /etc/rcS. It's intended to do
what 'cat' does when the cat executable may not be available (if /usr
isn't mounted).

>From rtrzaska@uk.mdis.com

look in /etc/rcS which runs the scripts in /etc/rcS.d and you will find the function:

#
# shcat file
#
# Simulates cat in sh so it doesn't need to be on the root filesystem.
#
shcat() {
        while test $# -ge 1
        do
                while read i
                do
                        echo "$i"
                done < $1
                shift
        done
}

================================

Thank again to all of you.

regards,
Stots



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:11:42 CDT