add.modules.in (modules-5.1.1.tar.bz2) | : | add.modules.in (modules-5.2.0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 34 | skipping to change at line 34 | |||
ETC=/skel | ETC=/skel | |||
/bin/cat <<! | /bin/cat <<! | |||
$0 | $0 | |||
adds a few lines to the beginning of your | adds a few lines to the beginning of your | |||
$HOME/.cshrc, $HOME/.login, | $HOME/.cshrc, $HOME/.login, | |||
$HOME/.profile, $HOME/.bashrc, and | $HOME/.profile, $HOME/.bashrc, and | |||
possibly your $HOME/.kshenv (or whatever is | possibly your $HOME/.kshenv (or whatever is | |||
specified by the ENV environment variable). | specified by the ENV environment variable). | |||
! | ! | |||
if [ -r $HOME/.bash_profile ]; then | if [ -r "$HOME/.bash_profile" ]; then | |||
/bin/cat <<! | /bin/cat <<! | |||
Also your $HOME/.bash_profile will be processed. | Also your $HOME/.bash_profile will be processed. | |||
! | ! | |||
fi | fi | |||
if [ -r $HOME/.bash_login ]; then | if [ -r "$HOME/.bash_login" ]; then | |||
/bin/cat <<! | /bin/cat <<! | |||
Also your $HOME/.bash_login will be processed. | Also your $HOME/.bash_login will be processed. | |||
! | ! | |||
fi | fi | |||
/bin/cat <<! | /bin/cat <<! | |||
The lines are prepended for sourcing the $ETC/csh.modules or | The lines are prepended for sourcing the $ETC/csh.modules or | |||
$ETC/profile.modules files or to define the module alias or function. | $ETC/profile.modules files or to define the module alias or function. | |||
Why is it necessary? | Why is it necessary? | |||
To ensure that you will have access to modules for all subshells, | To ensure that you will have access to modules for all subshells, | |||
these lines need to be added to some of your 'dot' files. | these lines need to be added to some of your 'dot' files. | |||
skipping to change at line 63 | skipping to change at line 63 | |||
.kshenv.old respectively. So if you have any problems you will | .kshenv.old respectively. So if you have any problems you will | |||
can easily restore them. | can easily restore them. | |||
This is version $VERSION . | This is version $VERSION . | |||
! | ! | |||
/bin/echo "Continue on (type n for no - default=yes)?\c" | /bin/echo "Continue on (type n for no - default=yes)?\c" | |||
read xxx | read xxx | |||
if [ x$xxx = xn ] | if [ x"$xxx" = xn ] | |||
then | then | |||
exit 1 | exit 1 | |||
fi | fi | |||
# cleanse old dot file $1=file $2=clean temporary $3=file.old | # cleanse old dot file $1=file $2=clean temporary $3=file.old | |||
cleandot() { | cleandot() { | |||
/bin/cat <<! | /bin/cat <<! | |||
Cleaning $1 | Cleaning $1 | |||
! | ! | |||
mv $1 $3 | mv "$1" "$3" | |||
sed \ | sed \ | |||
-e "/^[ ]*if[ ]*([ ]*-e[ ].*\/csh\.modules[ ]*)[ ]*then[ ]*\$/,/^[ ]*endif[ ]*\$/d" \ | -e "/^[ ]*if[ ]*([ ]*-e[ ].*\/csh\.modules[ ]*)[ ]*then[ ]*\$/,/^[ ]*endif[ ]*\$/d" \ | |||
-e "/^[ ]*if[ ]*\[[ ]*-[ef][ ].*\/profile\.modules[ ]*][ ] *\$/,/^[ ]*fi[ ]*\$/d" \ | -e "/^[ ]*if[ ]*\[[ ]*-[ef][ ].*\/profile\.modules[ ]*][ ] *\$/,/^[ ]*fi[ ]*\$/d" \ | |||
-e "/^[ ]*if[ ]*\[[ ]*-[ef][ ].*\/profile\.modules[ ]*].*then [ ]*\$/,/^[ ]*fi[ ]*\$/d" \ | -e "/^[ ]*if[ ]*\[[ ]*-[ef][ ].*\/profile\.modules[ ]*].*then [ ]*\$/,/^[ ]*fi[ ]*\$/d" \ | |||
-e "/^[ ]*if[ ]*([ ]*\$?tcsh[ ]*)[ ]*then[ ]*\$/,/^[ ]*alias[ ]*module[ ]*.*\$/d" \ | -e "/^[ ]*if[ ]*([ ]*\$?tcsh[ ]*)[ ]*then[ ]*\$/,/^[ ]*alias[ ]*module[ ]*.*\$/d" \ | |||
-e "/^[ ]*module().*[ ]*.*}[ ]*\$/d" \ | -e "/^[ ]*module().*[ ]*.*}[ ]*\$/d" \ | |||
-e "/^[ ]*case[ ]*\"\$0\"[ ]*in[ ]*\$/,/^[ ]*esac[ ]*\$/d" \ | -e "/^[ ]*case[ ]*\"\$0\"[ ]*in[ ]*\$/,/^[ ]*esac[ ]*\$/d" \ | |||
-e "/^[ ]*source[ ]*.*\/Modules.*\$/d" \ | -e "/^[ ]*source[ ]*.*\/Modules.*\$/d" \ | |||
-e "/^[ ]*source[ ]*.*\/csh\.modules[ ]*/d" \ | -e "/^[ ]*source[ ]*.*\/csh\.modules[ ]*/d" \ | |||
-e "/^[ ]*\.[ ]*.*\/profile\.modules[ ]*/d" \ | -e "/^[ ]*\.[ ]*.*\/profile\.modules[ ]*/d" \ | |||
$3 > $2 | "$3" > "$2" | |||
} | } | |||
# find if certain of the dot files have load lines already | # find if certain of the dot files have load lines already | |||
findload() { | findload() { | |||
grep "^[ ]*module[ ]*load" $1 > /tmp/load.$$ | grep "^[ ]*module[ ]*load" "$1" > /tmp/load.$$ | |||
} | } | |||
# put common stuff derivatives here $1=.dot_file $2=action $3=shell(csh,sh) $4=s kel alternative | # put common stuff derivatives here $1=.dot_file $2=action $3=shell(csh,sh) $4=s kel alternative | |||
shdot() { | shdot() { | |||
if [ -f $1 ] | if [ -f "$1" ] | |||
then | then | |||
/bin/cat <<! | /bin/cat <<! | |||
Processing your $1 (your old one is $1.old) | Processing your $1 (your old one is $1.old) | |||
! | ! | |||
if cleandot $1 /tmp/$1.$$ $1.old | if cleandot "$1" "/tmp/$1.$$" "$1.old" | |||
then | then | |||
if [ x$2 = xsource ] | if [ x"$2" = xsource ] | |||
then | then | |||
/bin/cat <<! | /bin/cat <<! | |||
Adding sourcing lines at beginning of $1 | Adding sourcing lines at beginning of "$1" | |||
! | ! | |||
if [ x$3 = xsh ] | if [ x"$3" = xsh ] | |||
then | then | |||
findload $1.old | findload "$1.old" | |||
/bin/cat > $1 <<! | /bin/cat > "$1" <<! | |||
if [ -f $ETC/profile.modules ] | if [ -f $ETC/profile.modules ] | |||
then | then | |||
. $ETC/profile.modules | . $ETC/profile.modules | |||
# put your own module loads here | # put your own module loads here | |||
! | ! | |||
if [ -s /tmp/load.$$ ] | if [ -s /tmp/load.$$ ] | |||
then | then | |||
/bin/cat /tmp/load.$$ >> $1 | /bin/cat /tmp/load.$$ >> "$1" | |||
else | else | |||
/bin/cat >> $1 <<! | /bin/cat >> "$1" <<! | |||
module load null | module load null | |||
! | ! | |||
fi | fi | |||
/bin/cat >> $1 <<! | /bin/cat >> "$1" <<! | |||
fi | fi | |||
! | ! | |||
elif [ x$3 = xcsh ] | elif [ x"$3" = xcsh ] | |||
then | then | |||
findload $1.old | findload "$1.old" | |||
/bin/cat > $1 <<! | /bin/cat > "$1" <<! | |||
if ( -e $ETC/csh.modules ) then | if ( -e $ETC/csh.modules ) then | |||
source $ETC/csh.modules | source $ETC/csh.modules | |||
# put your own module loads here | # put your own module loads here | |||
! | ! | |||
if [ -s /tmp/load.$$ ] | if [ -s /tmp/load.$$ ] | |||
then | then | |||
/bin/cat /tmp/load.$$ >> $1 | /bin/cat /tmp/load.$$ >> "$1" | |||
else | else | |||
/bin/cat >> $1 <<! | /bin/cat >> "$1" <<! | |||
module load null | module load null | |||
! | ! | |||
fi | fi | |||
/bin/cat >> $1 <<! | /bin/cat >> "$1" <<! | |||
endif | endif | |||
! | ! | |||
fi | fi | |||
/bin/cat /tmp/$1.$$ >> $1 && /bin/rm /tmp/$1.$$ | /bin/cat "/tmp/$1.$$" >> "$1" && /bin/rm "/tmp/$1 | |||
elif [ x$2 = xalias ] | .$$" | |||
elif [ x"$2" = xalias ] | ||||
then | then | |||
/bin/cat <<! | /bin/cat <<! | |||
Adding alias or function lines at beginning of $1 | Adding alias or function lines at beginning of $1 | |||
! | ! | |||
if [ x$3 = xsh ] | if [ x"$3" = xsh ] | |||
then | then | |||
/bin/cat > $1 <<! | /bin/cat > "$1" <<! | |||
case "\$0" in | case "\$0" in | |||
-sh|sh|*/sh) modules_shell=sh ;; | -sh|sh|*/sh) modules_shell=sh ;; | |||
-ksh|ksh|*/ksh) modules_shell=ksh ;; | -ksh|ksh|*/ksh) modules_shell=ksh ;; | |||
-zsh|zsh|*/zsh) modules_shell=zsh ;; | -zsh|zsh|*/zsh) modules_shell=zsh ;; | |||
-bash|bash|*/bash) modules_shell=bash ;; | -bash|bash|*/bash) modules_shell=bash ;; | |||
esac | esac | |||
module() { eval \`@TCLSH@ @libexecdir@/modulecmd.tcl \$modules_shell \$*\`; } | module() { eval \`@TCLSH@ '@libexecdir@/modulecmd.tcl' \$modules_shell \$*\`; } | |||
! | ! | |||
elif [ x$3 = xcsh ] | elif [ x"$3" = xcsh ] | |||
then | then | |||
/bin/cat > $1 <<! | /bin/cat > "$1" <<! | |||
if (\$?tcsh) then | if (\$?tcsh) then | |||
set modules_shell="tcsh" | set modules_shell="tcsh" | |||
else | else | |||
set modules_shell="csh" | set modules_shell="csh" | |||
endif | endif | |||
alias module 'eval \`@TCLSH@ @libexecdir@/modulecmd.tcl '\$modules_shell '\!*\`' | alias module 'eval \`@TCLSH@ "@libexecdir@/modulecmd.tcl" '\$modules_shell '\!*\ `' | |||
! | ! | |||
fi | fi | |||
/bin/cat /tmp/$1.$$ >> $1 && /bin/rm /tmp/$1.$$ | /bin/cat "/tmp/$1.$$" >> "$1" && /bin/rm "/tmp/$1 .$$" | |||
fi | fi | |||
else | else | |||
/bin/echo "Had problems with your $1" | /bin/echo "Had problems with your $1" | |||
fi | fi | |||
else | else | |||
/bin/cat <<! | /bin/cat <<! | |||
You had no $1 as I see it. Copying $4 for you. | You had no $1 as I see it. Copying $4 for you. | |||
! | ! | |||
/bin/cp $4 $1 | /bin/cp "$4" "$1" | |||
fi | fi | |||
/bin/rm /tmp/load.$$ 2> /dev/null | /bin/rm /tmp/load.$$ 2> /dev/null | |||
} | } | |||
# process files in $HOME | # process files in $HOME | |||
cd $HOME | cd "$HOME" | |||
if [ -r .bash_profile ]; then | if [ -r .bash_profile ]; then | |||
shdot .bash_profile source sh $SKEL/.profile | shdot .bash_profile source sh $SKEL/.profile | |||
fi | fi | |||
if [ -r .bash_login ]; then | if [ -r .bash_login ]; then | |||
shdot .bash_login source sh $SKEL/.profile | shdot .bash_login source sh $SKEL/.profile | |||
fi | fi | |||
shdot .profile source sh $SKEL/.profile | shdot .profile source sh $SKEL/.profile | |||
shdot .bashrc alias sh $SKEL/.kshenv | shdot .bashrc alias sh $SKEL/.kshenv | |||
shdot `basename ${ENV:=.kshenv}` alias sh $SKEL/.kshenv | shdot "`basename "${ENV:=.kshenv}"`" alias sh $SKEL/.kshenv | |||
shdot .login source csh $SKEL/.login | shdot .login source csh $SKEL/.login | |||
shdot .cshrc alias csh $SKEL/.cshrc | shdot .cshrc alias csh $SKEL/.cshrc | |||
exit | exit | |||
End of changes. 31 change blocks. | ||||
34 lines changed or deleted | 35 lines changed or added |