#!/bin/bash
# gsu -- the global subcommand utility
-# (C) 2006-2009 Andre Noll
+# (C) 2006-2010 Andre Noll
_gsu_init_errors()
{
GSU_SUCCESS success
E_GSU_BAD_COMMAND invalid command
E_GSU_NOT_A_NUMBER not a number
-E_GSU_SOURCE error in config file
-E_GSU_CONFIG bad/missing config file option
E_GSU_BAD_CONFIG_VAR invalid config variable
E_GSU_NEED_VALUE value required but not given
E_GSU_BAD_BOOL bad value for boolian option
E_GSU_BAD_OPTION_TYPE invalid option type
E_GSU_BAD_ARG_COUNT invalid number of arguments
E_GSU_EDITOR failed to execute editor
-E_NO_DEFAULT missing default value
+E_GSU_MKDIR failed to create directory
$gsu_errors
"
local a b i=0
local i conf="${gsu_config_file:=$HOME/.$gsu_name.rc}"
if [[ "$1" = "-e" ]]; then
+ ret=-$E_GSU_MKDIR
+ result="${conf%/*}"
+ mkdir -p "$result"
+ [[ $? -ne 0 ]] && return
ret=-$E_GSU_EDITOR
result="${EDITOR:-vi}"
"$result" "$conf"
+ [[ $? -ne 0 ]] && return
ret=$GSU_SUCCESS
return
fi
gsu()
{
local i
-
- gsu_is_a_number "${BASH_VERSINFO[0]}"
- if [[ $ret -lt 0 ]]; then
- gsu_msg "fatal: failed to determine bash version"
- exit 1
- fi
-
- if [[ "${BASH_VERSINFO[0]}" -lt 4 ]]; then
- gsu_msg "fatal: This script requires at least bash 4.0"
- exit 1
- fi
_gsu_self="$(basename $0)"
gsu_name="${gsu_name:=$_gsu_self}"
gsu_config_var_prefix="${gsu_config_var_prefix:=$gsu_name}"