Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
view share/local-bsdtools/common.subr @ 443:071f24359eef
Move "_ensure_no_optios()" into common.subr
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 03 May 2024 09:41:38 +0200 |
| parents | a2011285f054 |
| children | 84e43d1bd128 |
line wrap: on
line source
# -*- mode: shell-script; indent-tabs-mode: nil; -*- #: #: :Author: Franz Glasner #: :Copyright: (c) 2017-2024 Franz Glasner. #: All rights reserved. #: :License: BSD 3-Clause "New" or "Revised" License. #: See LICENSE for details. #: If you cannot find LICENSE see #: <https://opensource.org/licenses/BSD-3-Clause> #: :ID: @(#)@@SIMPLEVERSIONTAG@@ #: #: #: Ensure that no command line options are given #: #: Args: #: $@: #: #: Exit: #: 2: If formally `getopts` finds options in "$@" #: #: Return: #: - 0 #: _ensure_no_options() { local _opt while getopts ":" _opt ; do [ "${_opt}" = '?' ] && { echo "ERROR: no option allowed" 1>&2; exit 2; } done return 0 } #: #: Determine some important dataset properties that are set locally #: #: Args: #: $1: the dataset #: $2 ...: the properties to check for #: #: Output (stdout): #: An option string suited for use in "zfs create" #: _get_local_zfs_properties_for_create() { local ds local _res _prop _value _source ds="${1}" shift _res="" for _prop in "$@" ; do IFS=$'\t' read -r _value _source <<EOF73GHASGJKKJ354 $(zfs get -H -p -o value,source "${_prop}" "${ds}") EOF73GHASGJKKJ354 case "${_source}" in local) if [ -z "${_res}" ]; then _res="-o ${_prop}=${_value}" else _res="${_res} -o ${_prop}=${_value}" fi ;; *) # VOID ;; esac done echo "${_res}" }
