You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.1 KiB

#!/usr/bin/env bash
#set -x
NEW=""
networkName=""
synopsis() {
cat << EOF
Usage : `basename $0` [-h] [-n existingNetworkName] [newNetworkName]
EOF
}
help() {
cat << EOF
`basename $0` clone le réseau courant (ou celui précisé par l'option -n).
`synopsis`
-h : affiche cette aide.
-n : réseau à cloner.
Si newNetwork n'est pas précisé, il sera demandé sur l'entrée standard.
EOF
}
usage() {
synopsis
exit 1
}
args() {
local opt
while getopts "hn:" opt; do
case $opt in
h) help; exit 0;;
n) networkName="$OPTARG";;
?) usage;;
esac
done
shift $(($OPTIND - 1))
[ $# -eq 1 ] && { NEW=$1; shift; }
[ $# -ne 0 ] && usage;
}
# main
VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh
args "$@"
[ -n "$networkName" ] && NETWORK_DIR="$VDN_NETWORKS_BASE_DIR/$networkName"
export VDN_PATH
while [ -z "$NEW" ]; do
echo -n "Nom destination : "
read NEW
done
echo "clone : $NETWORK_DIR to $NEW"
new=$(dirname $NETWORK_DIR)/$NEW
[ -d $new ] && error "Le réseau $NEW existe déja !" || :
cp -a $NETWORK_DIR $new