| # |
| # 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 2010 Sun Microsystems, Inc. All rights reserved. |
| # |
| |
| # |
| # NAME |
| # parse_status_output |
| # |
| # DESCRIPTION |
| # Parse the output of the smbutil status, and print the |
| # workgroup and the server |
| # |
| # RETURN |
| # no return |
| # |
| |
| parse_status_output() { |
| typeset w_tag a_tag Workgroup Server |
| w_tag=0 |
| s_tag=0 |
| while getopts w:s: opt |
| do |
| case $opt in |
| w) |
| w_tag=1 |
| output="$OPTARG";; |
| s) |
| s_tag=1 |
| output="$OPTARG";; |
| esac |
| done |
| if [[ w_tag == 1 ]]; then |
| Workgroup=$(cat $output|grep Workgroup \ |
| |awk -F: '{print $2}') |
| echo $Workgroup |
| else |
| Server=$(cat $output|grep Server \ |
| |awk -F: '{print $2}') |
| echo $Server |
| fi |
| } |
| |
| # |
| # NAME |
| # parse_view_output |
| # |
| # DESCRIPTION |
| # Parse the output of the smbutil view, and print the shares |
| # |
| # RETURN |
| # 0 - success |
| # |
| parse_view_output() { |
| typeset share str |
| share=$1 |
| stdout=$2 |
| str=$(cat $stdout |grep -v -- "---"|grep $share) |
| name=$(echo $str |awk '{print $1}') |
| type=$(echo $str |awk '{print $2}') |
| if [[ "$name" != "$share" ]]; then |
| cti_fail "FAIL: share name should be $share" |
| return 1 |
| fi |
| if [[ "$type" != "disk" ]]; then |
| cti_fail "FAIL: share type is $type, should be disk" |
| return 1 |
| fi |
| return 0 |
| } |