#!/usr/bin/env bash set -eu synopsis() { cat << EOF Usage : `basename $0` [-h] networkDir EOF } help() { cat << EOF `basename $0` définit le réseau courant. (fixe la variable i NETWORK_DIR du fichier ~/.vdnrc). `synopsis` -h : affiche cette aide EOF } usage() { synopsis exit 1 } args() { local opt while getopts "h" opt; do case $opt in h) help; exit 0;; ?) usage;; esac done shift $(($OPTIND - 1)) [ $# -ne 1 ] && usage; DIR=$1 } # Programme principal VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh args "$@" if [ "$DIR" != "" ]; then if [ ! -d "$DIR" ]; then if [ ! -d $VDN_NETWORKS_BASE_DIR/$DIR ]; then error "Network $DIR not found" else DIR=$VDN_NETWORKS_BASE_DIR/$DIR fi fi fi if [ ! -e ~/.vdnrc ]; then cat < ~/.vdnrc #!/bin/bash # Chemin du répertoire associé au réseau NETWORK_DIR="$DIR" EOF else if grep -q 'NETWORK_DIR' ~/.vdnrc; then tmp=`mktemp` cat ~/.vdnrc | \ sed -re 's,^NETWORK_DIR=.*$,NETWORK_DIR="'$DIR'",' > $tmp mv $tmp ~/.vdnrc else cat <> ~/.vdnrc # Chemin du répertoire associé au réseau NETWORK_DIR="$DIR" EOF fi fi