xref: /titanic_52/usr/src/cmd/dfs.cmds/shareall/shareall.sh (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate#!/sbin/sh
2*7c478bd9Sstevel@tonic-gate#
3*7c478bd9Sstevel@tonic-gate# CDDL HEADER START
4*7c478bd9Sstevel@tonic-gate#
5*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
6*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
7*7c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
8*7c478bd9Sstevel@tonic-gate# with the License.
9*7c478bd9Sstevel@tonic-gate#
10*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
12*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
13*7c478bd9Sstevel@tonic-gate# and limitations under the License.
14*7c478bd9Sstevel@tonic-gate#
15*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
16*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
18*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
19*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
20*7c478bd9Sstevel@tonic-gate#
21*7c478bd9Sstevel@tonic-gate# CDDL HEADER END
22*7c478bd9Sstevel@tonic-gate#
23*7c478bd9Sstevel@tonic-gate#	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
24*7c478bd9Sstevel@tonic-gate#	  All Rights Reserved
25*7c478bd9Sstevel@tonic-gate
26*7c478bd9Sstevel@tonic-gate
27*7c478bd9Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"
28*7c478bd9Sstevel@tonic-gate# shareall  -- share resources
29*7c478bd9Sstevel@tonic-gate
30*7c478bd9Sstevel@tonic-gateUSAGE="shareall [-F fsys[,fsys...]] [- | file]"
31*7c478bd9Sstevel@tonic-gatefsys=
32*7c478bd9Sstevel@tonic-gateset -- `getopt F: $*`
33*7c478bd9Sstevel@tonic-gateif [ $? != 0 ]		# invalid options
34*7c478bd9Sstevel@tonic-gate	then
35*7c478bd9Sstevel@tonic-gate	echo $USAGE >&2
36*7c478bd9Sstevel@tonic-gate	exit 1
37*7c478bd9Sstevel@tonic-gatefi
38*7c478bd9Sstevel@tonic-gatefor i in $*		# pick up the options
39*7c478bd9Sstevel@tonic-gatedo
40*7c478bd9Sstevel@tonic-gate	case $i in
41*7c478bd9Sstevel@tonic-gate	-F)  fsys=$2; shift 2;;
42*7c478bd9Sstevel@tonic-gate	--)  shift; break;;
43*7c478bd9Sstevel@tonic-gate	esac
44*7c478bd9Sstevel@tonic-gatedone
45*7c478bd9Sstevel@tonic-gate
46*7c478bd9Sstevel@tonic-gateif [ $# -gt 1 ]		# accept only one argument
47*7c478bd9Sstevel@tonic-gatethen
48*7c478bd9Sstevel@tonic-gate	echo $USAGE >&2
49*7c478bd9Sstevel@tonic-gate	exit 1
50*7c478bd9Sstevel@tonic-gateelif [ $# = 1 ]
51*7c478bd9Sstevel@tonic-gatethen
52*7c478bd9Sstevel@tonic-gate	case $1 in
53*7c478bd9Sstevel@tonic-gate	-)	infile=;;	# use stdin
54*7c478bd9Sstevel@tonic-gate	*)	infile=$1;;	# use a given source file
55*7c478bd9Sstevel@tonic-gate	esac
56*7c478bd9Sstevel@tonic-gateelse
57*7c478bd9Sstevel@tonic-gate	infile=/etc/dfs/dfstab	# default
58*7c478bd9Sstevel@tonic-gatefi
59*7c478bd9Sstevel@tonic-gate
60*7c478bd9Sstevel@tonic-gate
61*7c478bd9Sstevel@tonic-gateif [ "$fsys" ]		# for each file system ...
62*7c478bd9Sstevel@tonic-gatethen
63*7c478bd9Sstevel@tonic-gate	while read line				# get complete lines
64*7c478bd9Sstevel@tonic-gate	do
65*7c478bd9Sstevel@tonic-gate		echo $line
66*7c478bd9Sstevel@tonic-gate	done < $infile |
67*7c478bd9Sstevel@tonic-gate
68*7c478bd9Sstevel@tonic-gate	`egrep "^[^#]*[ 	][ 	]*-F[ 	]*(\`echo $fsys|tr ',' '|'\`)" |
69*7c478bd9Sstevel@tonic-gate	/sbin/sh`
70*7c478bd9Sstevel@tonic-gate
71*7c478bd9Sstevel@tonic-gate	fsys_file=/etc/dfs/fstypes
72*7c478bd9Sstevel@tonic-gate	if [ -f $fsys_file ]    		# get default file system type
73*7c478bd9Sstevel@tonic-gate	then
74*7c478bd9Sstevel@tonic-gate		def_fs=`egrep '^[^#]' $fsys_file | awk '{print $1; exit}'`
75*7c478bd9Sstevel@tonic-gate		if [ "$def_fs" = "$fsys" ]      # if default is what we want ...
76*7c478bd9Sstevel@tonic-gate		then            		# for every file system ...
77*7c478bd9Sstevel@tonic-gate			while read line
78*7c478bd9Sstevel@tonic-gate			do
79*7c478bd9Sstevel@tonic-gate				echo $line
80*7c478bd9Sstevel@tonic-gate			done < $infile |
81*7c478bd9Sstevel@tonic-gate
82*7c478bd9Sstevel@tonic-gate			# not a comment and no -F option
83*7c478bd9Sstevel@tonic-gate			`egrep -v "(^[#]|-F)" | /sbin/sh`
84*7c478bd9Sstevel@tonic-gate		fi
85*7c478bd9Sstevel@tonic-gate	else
86*7c478bd9Sstevel@tonic-gate		echo "shareall: can't open $fsys_file"
87*7c478bd9Sstevel@tonic-gate	fi
88*7c478bd9Sstevel@tonic-gateelse			# for every file system ...
89*7c478bd9Sstevel@tonic-gate	cat $infile|/sbin/sh
90*7c478bd9Sstevel@tonic-gatefi
91