Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
protege:smbcc [2023/11/09 00:21] – créée ps | protege:smbcc [2023/11/09 00:44] (Version actuelle) – ps | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | <file smbcc bash> | + | < |
- | </ | + | # |
+ | |||
+ | set -Eeuo pipefail | ||
+ | trap cleanup SIGINT SIGTERM ERR EXIT | ||
+ | |||
+ | script_dir=$(cd " | ||
+ | |||
+ | usage() { | ||
+ | cat << EOF # remove the space between << and EOF, this is due to web plugin issue | ||
+ | Usage: $(basename " | ||
+ | |||
+ | Script description here. | ||
+ | |||
+ | Available options: | ||
+ | |||
+ | -h, --help | ||
+ | -e, --encrypt | ||
+ | -d, --decrypt | ||
+ | unc NC path (ex: 192.168.1.100/ | ||
+ | user/ | ||
+ | |||
+ | |||
+ | EOF | ||
+ | exit | ||
+ | } | ||
+ | |||
+ | cleanup() { | ||
+ | trap - SIGINT SIGTERM ERR EXIT | ||
+ | # script cleanup here | ||
+ | } | ||
+ | |||
+ | msg() { | ||
+ | echo >&2 -e " | ||
+ | } | ||
+ | |||
+ | die() { | ||
+ | local msg=$1 | ||
+ | local code=${2-1} # default exit status 1 | ||
+ | msg " | ||
+ | exit " | ||
+ | } | ||
+ | |||
+ | parse_params() { | ||
+ | # default values of variables set from params | ||
+ | flag=0 | ||
+ | param='' | ||
+ | |||
+ | while :; do | ||
+ | case " | ||
+ | -h | --help) usage ;; | ||
+ | -v | --verbose) set -x ;; | ||
+ | -e | --encrypt) encrypt=1 ;; # example flag | ||
+ | -d | --decrypt) decrypt=1 ;; # example flag | ||
+ | param=" | ||
+ | shift | ||
+ | ;; | ||
+ | -?*) die " | ||
+ | *) break ;; | ||
+ | esac | ||
+ | shift | ||
+ | done | ||
+ | |||
+ | args=(" | ||
+ | |||
+ | # check required params and arguments | ||
+ | [[ -z " | ||
+ | [[ ${#args[@]} -eq 0 ]] && die " | ||
+ | |||
+ | return 0 | ||
+ | } | ||
+ | |||
+ | parse_params " | ||
+ | |||
+ | # script logic here | ||
+ | if [[ $# != 4 ]] ; then | ||
+ | usage | ||
+ | fi | ||
+ | unc=$1 | ||
+ | userpw=$2 | ||
+ | user=$(echo $userpw|cut -f1 -d/) | ||
+ | password=$(echo $userpw|cut -f2 -d/) | ||
+ | mode=$3 | ||
+ | passwdfile=$4 | ||
+ | passwd=$(cat ${passwdfile}) | ||
+ | msg " | ||
+ | msg "- flag: ${flag}" | ||
+ | msg "- param: ${param}" | ||
+ | msg "- arguments: ${args[*]-}" | ||
+ | cmd=" | ||
+ | eval " | ||
+ | if [[ $? == 0 ]] ; then | ||
+ | | ||
+ | else | ||
+ | ... | ||
+ | fi | ||
+ | umount / | ||
+ | exit 0 | ||
+ | </file> |