#!/usr/bin/env bash set -eu synopsis() { cat << EOF Usage : `basename $0` var value EOF } help() { cat << EOF `basename $0` fixe la variable dans ~/.vdnrc. `synopsis` -h : affiche cette aide EOF } usage() { synopsis exit 1 } args() { local opt while getopts "hr" opt; do case $opt in h) help; exit 0;; ?) usage;; esac done shift $(($OPTIND - 1)) [ $# != 2 ] && usage VAR=$1 VALUE=$2 } # Programme principal VDN_PATH=$(readlink -f $(dirname $0)/..); . $VDN_PATH/bin/functions.sh args "$@" f=$HOME/.vdnrc [ ! -e $f ] && touch $f if cat $f | grep -q "^$VAR="; then sed -i -re "s,$VAR=.*$,$VAR=\"$VALUE\"," $f || echo "Error" else echo "$VAR=\"$VALUE\"" >> $f fi