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 29 USAGE="shareall [-F fsys[,fsys...]] [- | file]" 30 fsys= 31 set -- `getopt F: $*` 32 if [ $? != 0 ] # invalid options 33 then 34 echo $USAGE >&2 35 exit 1 36 fi 37 for i in $* # pick up the options 38 do 39 case $i in 40 -F) fsys=$2; shift 2;; 41 --) shift; break;; 42 esac 43 done 44 45 if [ $# -gt 1 ] # accept only one argument 46 then 47 echo $USAGE >&2 48 exit 1 49 elif [ $# = 1 ] 50 then 51 case $1 in 52 -) infile=;; # use stdin 53 *) infile=$1;; # use a given source file 54 esac 55 else 56 infile=/etc/dfs/dfstab # default 57 fi 58 59 60 if [ "$fsys" ] # for each file system ... 61 then 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 92 else # 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 99 fi 100