#!/sbin/sh # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. #ident "%Z%%M% %I% %E% SMI" # shareall -- share resources setvar USAGE = ""shareall [-F fsys[,fsys...]] [- | file]"" setvar fsys = '' set -- $(getopt F: $ifsjoin(ARGV)) if test $Status != 0 # invalid options { echo $USAGE >&2 exit 1 } for i in [$ifsjoin(ARGV)] # pick up the options { match $i { with -F setvar fsys = "$2"; shift 2 with -- shift; break } } if test $Argc -gt 1 # accept only one argument { echo $USAGE >&2 exit 1 } elif test $Argc = 1 { match $1 { with - setvar infile = '' # use stdin with * setvar infile = "$1" # use a given source file } } else { setvar infile = '/etc/dfs/dfstab' # default } if test $fsys # for each file system ... { if test $infile = "/etc/dfs/dfstab" { /usr/sbin/sharemgr start -P $fsys -a } else { while read line # get complete lines { echo $line } < $infile | $(egrep "^[^#]*[ ][ ]*-F[ ]*(\`echo $fsys|tr ',' '|'\`)" | /sbin/sh) setvar fsys_file = '/etc/dfs/fstypes' if test -f $fsys_file # get default file system type { setvar def_fs = $(egrep '^[^#]' $fsys_file | awk '{print $1; exit}) if test $def_fs = $fsys # if default is what we want ... { # for every file system ... while read line { echo $line } < $infile | # not a comment and no -F option $(egrep -v "(^[#]|-F)" | /sbin/sh) } } else { echo "shareall: can't open $fsys_file" } } } else { # for every file system ... if test $infile = "/etc/dfs/dfstab" { /usr/sbin/sharemgr start -a } else { cat $infile|/sbin/sh } }