aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/java-vm.eselect.in')
-rw-r--r--src/modules/java-vm.eselect.in14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/modules/java-vm.eselect.in b/src/modules/java-vm.eselect.in
index c7d5a82..7c46ff1 100644
--- a/src/modules/java-vm.eselect.in
+++ b/src/modules/java-vm.eselect.in
@@ -116,7 +116,7 @@ describe_set_parameters() {
}
do_set() {
- local usage="Usage <user|system> <VM>"
+ local usage="Usage [user|system] <VM>"
local ifunset=0
if [[ ${1} == "--if-unset" ]]; then
@@ -124,6 +124,18 @@ do_set() {
shift
fi
+ # Automatically decide, based in the invoking user's UID, if the
+ # user or system Java VM should be modified.
+ if [[ ${#} -eq 1 ]]; then
+ local kind
+ if [[ ${UID} -eq 0 ]]; then
+ kind="system"
+ else
+ kind="user"
+ fi
+ set -- ${kind} ${@}
+ fi
+
if [[ ${#} != 2 ]]; then
die -q ${usage}
elif [[ ${1} == "system" ]]; then