- Add AIX support,
- Add --list (-l), --listid (-li) and --listenv (-le) options. - Add and rework many scripts in etc/envmng.d directory...
This commit is contained in:
78
bin/envmng
78
bin/envmng
@@ -1,7 +1,7 @@
|
||||
# $RCSfile: envmng,v $
|
||||
# $Revision: 1.1 $
|
||||
# $RCS envmng,v $
|
||||
# $Revision: 1.2 $
|
||||
# $Name: $
|
||||
# $Date: 2009/01/12 17:59:03 $
|
||||
# $Date: 2009/01/13 13:27:53 $
|
||||
# $Author: agibert $
|
||||
|
||||
# envmng - Unix shell Environment Manager
|
||||
@@ -23,22 +23,22 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
|
||||
EnvMng_Cmd="$1"
|
||||
EnvMng_Env="$2"
|
||||
EnvMng_Opt="$3"
|
||||
|
||||
envmng_prefix=/home/dtarget/envmng
|
||||
envmng_prefix=/usr/local/bin
|
||||
envmng_d=$envmng_prefix/etc/envmng.d
|
||||
envmng_id=$envmng_prefix/etc/envmng_id
|
||||
envmng_protvar=$envmng_prefix/etc/envmng_protvar
|
||||
envmng_protalias=$envmng_prefix/etc/envmng_protalias
|
||||
envmng_display=$envmng_prefix/etc/envmng_display
|
||||
|
||||
basename=/bin/basename
|
||||
env=/bin/env
|
||||
sed=/bin/sed
|
||||
grep=/bin/grep
|
||||
printf=/bin/printf
|
||||
|
||||
alias envmng=". $envmng_prefix/bin/envmng"
|
||||
|
||||
@@ -79,6 +79,8 @@ envmng_path_rm()
|
||||
|
||||
|
||||
|
||||
#set +o nounset
|
||||
|
||||
case "$EnvMng_Cmd" in
|
||||
-b | --bash)
|
||||
if [ "$EnvMng_Env" != "" ]
|
||||
@@ -90,12 +92,12 @@ case "$EnvMng_Cmd" in
|
||||
then
|
||||
echo "envmng: new shell: [bash] seting id: [$ENVMNG_ID]..."
|
||||
|
||||
export NEW_SHELL=/home/dtarget/local/bin/bash
|
||||
export NEW_SHELL=/usr/local/bin/bash
|
||||
$NEW_SHELL
|
||||
unset NEW_SHELL
|
||||
else
|
||||
echo "envmng: allready in: [bash] seting id: [$ENVMNG_ID]..."
|
||||
. /home/dtarget/envmng/bin/envmng --setid $ENVMNG_ID $EnvMng_Opt
|
||||
. /usr/local/bin/envmng --setid $ENVMNG_ID $EnvMng_Opt
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -114,7 +116,7 @@ case "$EnvMng_Cmd" in
|
||||
unset NEW_SHELL
|
||||
else
|
||||
echo "envmng: allready in: [ksh] seting id: [$ENVMNG_ID]..."
|
||||
. /home/dtarget/envmng/bin/envmng --setid $ENVMNG_ID $EnvMng_Opt
|
||||
. /usr/local/bin/envmng --setid $ENVMNG_ID $EnvMng_Opt
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -123,7 +125,7 @@ case "$EnvMng_Cmd" in
|
||||
|
||||
export ENVMNG_ID=$EnvMng_Env
|
||||
|
||||
. $envmng_prefix/bin/envmng --reset $($grep "^$EnvMng_Env:" $envmng_id | $sed "s/^$EnvMng_Env:[ \ ]*//") $EnvMng_Opt
|
||||
. $envmng_prefix/bin/envmng --reset "$($grep "^$EnvMng_Env:" $envmng_id | $sed "s/^$EnvMng_Env:[ \ ]*//")" $EnvMng_Opt
|
||||
;;
|
||||
|
||||
-R | --reset)
|
||||
@@ -150,7 +152,7 @@ case "$EnvMng_Cmd" in
|
||||
|
||||
echo "envmng: reseting aliases..."
|
||||
|
||||
alias_list=$(alias | $sed -e "s/alias //" -e "s/=.*//")
|
||||
alias_list=$(alias | $grep ".*=" | $sed -e "s/alias //" -e "s/=.*//")
|
||||
|
||||
if [ "$alias_list" != "" ]
|
||||
then
|
||||
@@ -249,23 +251,53 @@ case "$EnvMng_Cmd" in
|
||||
echo "ENVMNG_ID: [$ENVMNG_ID] ENVMNG_LIST: [$ENVMNG_LIST]"
|
||||
;;
|
||||
|
||||
-l | --list)
|
||||
echo "Id and EnvList:"
|
||||
. $envmng_prefix/bin/envmng --listid
|
||||
|
||||
echo
|
||||
echo "Env:"
|
||||
. $envmng_prefix/bin/envmng --listenv
|
||||
;;
|
||||
|
||||
-li | --listid)
|
||||
for line in $( $grep -v "^#" $envmng_id | $sed "s/:[ \ ]*/#/")
|
||||
do
|
||||
$printf "%-16s %s\n" $( echo $line | $sed "s/#.*/:/") $( echo $line | $sed "s/^.*#//")
|
||||
done
|
||||
;;
|
||||
|
||||
-le | --listenv)
|
||||
for file in $envmng_d/*
|
||||
do
|
||||
if [[ ( -f $file ) && ( $file != *~ ) && ( $file != */env_template ) ]]
|
||||
then
|
||||
$printf "%-16s " $( echo $( $basename $file):)
|
||||
echo $( $grep "^# description: " $file | $sed "s/^. description: //")
|
||||
fi
|
||||
done
|
||||
;;
|
||||
|
||||
-h | --help)
|
||||
echo "Usage: envmng [COMMAND] [OPTION]"
|
||||
echo " -b, --bash [<Id>] [norc] switch to bash and set id to <Id>"
|
||||
echo " -k, --ksh [<Id>] [norc] switch to ksh and set id to <Id>"
|
||||
echo " -S, --setid <Id> [norc] set id to <Id>"
|
||||
echo " -R, --reset <EnvList> reset envlist to <EnvList>"
|
||||
echo " -a, --add <Env> [head|tail] add <Env> in envlist head or tail"
|
||||
echo " -d, --del <Env> del <Env> from envlist"
|
||||
echo " -p, --profile [<Env>] do envlist or <Env> profile"
|
||||
echo " -r, --rc [<Env>] do envlist or <Env> rc"
|
||||
echo " -s, --status print status"
|
||||
echo " -h, --help print this help"
|
||||
echo " -V, --version print version"
|
||||
echo " -b, --bash [<Id>] [norc] switch to bash and set id to <Id>"
|
||||
echo " -k, --ksh [<Id>] [norc] switch to ksh and set id to <Id>"
|
||||
echo " -S, --setid <Id> [norc] set id to <Id>"
|
||||
echo " -R, --reset <EnvList> reset envlist to <EnvList>"
|
||||
echo " -a, --add <Env> [head|tail] add <Env> in envlist head or tail"
|
||||
echo " -d, --del <Env> del <Env> from envlist"
|
||||
echo " -p, --profile [<Env>] do envlist or <Env> profile"
|
||||
echo " -r, --rc [<Env>] do envlist or <Env> rc"
|
||||
echo " -s, --status print status"
|
||||
echo " -l, --list list Id(s), EnvList(s) and Env(s)"
|
||||
echo " -li, --listid list Id(s) and EnvList(s)"
|
||||
echo " -le, --listenv list Env(s)"
|
||||
echo " -h, --help print this help"
|
||||
echo " -V, --version print version"
|
||||
;;
|
||||
|
||||
-V | --version)
|
||||
echo "envmng V 1.1"
|
||||
echo "envmng V 1.2"
|
||||
;;
|
||||
|
||||
*)
|
||||
|
||||
Reference in New Issue
Block a user