diff --git a/openfoam-selector/VERSION b/openfoam-selector/VERSION index 21e8796a09d4f26935ffc4879147879a153f0193..ee90284c27f187a315f1267b063fa81b5b84f613 100644 --- a/openfoam-selector/VERSION +++ b/openfoam-selector/VERSION @@ -1 +1 @@ -1.0.3 +1.0.4 diff --git a/openfoam-selector/openfoam-selector.sh.in b/openfoam-selector/openfoam-selector.sh.in index 86ace04a6a46190eed3de680392ea1e6cb2fedb2..f094f45bc4ee38b731b6014426a55fbf9051c6e8 100644 --- a/openfoam-selector/openfoam-selector.sh.in +++ b/openfoam-selector/openfoam-selector.sh.in @@ -1,55 +1,42 @@ # -*- sh -*- # Copyright (c) 2007 Cisco Systems, Inc. All rights reserved. -# Copyright (C) 2018 OpenCFD Ltd. +# Copyright (C) 2018-2019 OpenCFD Ltd. # # File installed for Bourne-shell startups to select which OPENFOAM # installation to use. Not using "alternatives" because we want to be # able to set per-user level defaults, not just system-wide defaults. - -# -# Define select mechanism as a function for later reuse # -unset -f openfoam_select 2>/dev/null -openfoam_select() -{ +# Would be nice to define select mechanism as a function for later reuse +# but that squashes aliases + openfoam_selector_dir="@OPENFOAM_SELECTOR_DATADIR@" openfoam_selector_homefile="$HOME/@OPENFOAM_SELECTOR_HOME_FILE@" openfoam_selector_sysfile="@OPENFOAM_SELECTOR_SYSCONFDIR@/@OPENFOAM_SELECTOR_SYSCONFIG_FILE@" - # Get the selection name - unset openfoam_selection - - if [ -f "$openfoam_selector_homefile" ] - then - # Home file - openfoam_selection=$(cat "$openfoam_selector_homefile") - elif [ -f "$openfoam_selector_sysfile" ] - then - # System file - openfoam_selection=$(cat "$openfoam_selector_sysfile") - fi - - - if [ -n "$openfoam_selection" ] && \ - [ -f "$openfoam_selector_dir/$openfoam_selection" ] +# The selection name +unset openfoam_selection +if [ -f "$openfoam_selector_homefile" ] +then + openfoam_selection=$(cat "$openfoam_selector_homefile") +elif [ -f "$openfoam_selector_sysfile" ] +then + openfoam_selection=$(cat "$openfoam_selector_sysfile") +fi + +if [ -n "$openfoam_selection" ] && \ + [ -f "$openfoam_selector_dir/$openfoam_selection" ] +then + # Resolve to OpenFOAM directory + openfoam_selection=$(cat "$openfoam_selector_dir/$openfoam_selection") + + if [ -n "$openfoam_selection" ] && [ -f "$openfoam_selection/etc/bashrc" ] then - # Resolve to OpenFOAM directory - - openfoam_selection=$(cat "$openfoam_selector_dir/$openfoam_selection") - - if [ -n "$openfoam_selection" ] && \ - [ -f "$openfoam_selection/etc/bashrc" ] - then - . "$openfoam_selection/etc/bashrc" '' - fi + . "$openfoam_selection/etc/bashrc" '' fi +fi - # Cleanup - unset openfoam_selection openfoam_selector_dir - unset openfoam_selector_homefile openfoam_selector_sysfile -} - -# Execute the above -openfoam_select +# Cleanup +unset openfoam_selection openfoam_selector_dir +unset openfoam_selector_homefile openfoam_selector_sysfile # -----------------------------------------------------------------------------