#!/usr/bin/bash # THIS SCRIPT IS A UTILITY TO SET ENVIRONMENT VARIABLES PERMANENTLY USING # THE WINDOWS REGISTRY. # USES 'REGTOOL' TO MODIFY THE WINDOWS REGISTRY. # 'REGTOOL' IS PART OF THE CYGWIN DISTRIBUTION PROVIDED BY RED HAT # # THERE'S ONE SLIGHT PROBLEM IN THAT AFTER YOU CHANGE THE REGISTRY # WITH 'REGTOOL' EXPLORER DOESN'T REALIZE THAT IT HAS BEEN CHANGED, # SO PROCESSES CREATED AFTER # TO NOTIFY EXPLORER (AND OTHER APPS) THAT THE ENVIRONMENT HAS CHANGED # WE CALL A LITTLE 1-LINE Win32 UTIL PROGRAM '_UPDATEREGENV' # SEE ALSO 'PRINTREGENV', 'SETREGENV' USERENV="/user/Environment" GLOBENV="/machine/SYSTEM/CurrentControlSet/Control/Session Manager/Environment" MSG="Environment modified in registry. Restart apps to pick up the change." ENV=$USERENV TYPE="-s" function usage() { echo "Usage: " `basename $0` " VAR"; exit; } if [ $# = 0 ]; then usage fi if [ $# = 1 ]; then regtool -q unset "$USERENV"/"$1" regtool -q unset "$GLOBENV"/"$1" _updateregenv echo $MSG else echo "Wrong number of arguments" usage fi