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