From 1231ac4798fd77b9ac9a07c8cad7b1ee720781d3 Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Thu, 8 Dec 2011 20:06:34 -0500 Subject: commit bash-20090312 snapshot --- examples/misc/aliasconv.bash | 10 ++++++---- examples/misc/aliasconv.sh | 10 +++++----- examples/misc/cshtobash | 35 ++++++++++++++++++++++------------- 3 files changed, 33 insertions(+), 22 deletions(-) (limited to 'examples') diff --git a/examples/misc/aliasconv.bash b/examples/misc/aliasconv.bash index 2245f061..22a04472 100755 --- a/examples/misc/aliasconv.bash +++ b/examples/misc/aliasconv.bash @@ -7,11 +7,13 @@ # Chet Ramey # chet@po.cwru.edu # -trap 'rm -f /tmp/cb$$.?' 0 1 2 3 6 15 +trap 'rm -f $TMPFILE' 0 1 2 3 6 15 + +TMPFILE=$(mktemp -t cb.XXXXXX) || exit 1 T=$'\t' -cat << \EOF >/tmp/cb$$.1 +cat << \EOF >$TMPFILE mkalias () { case $2 in @@ -31,9 +33,9 @@ EOF # since they whole thing is going to be surrounded by single quotes when # passed to mkalias -sed -e "s:':\\'\\\'\\':" -e "s/^\([a-zA-Z0-9_-]*\)$T\(.*\)$/mkalias \1 '\2'/" >>/tmp/cb$$.1 +sed -e "s:':\\'\\\'\\':" -e "s/^\([a-zA-Z0-9_-]*\)$T\(.*\)$/mkalias \1 '\2'/" >>$TMPFILE -$BASH /tmp/cb$$.1 | sed -e 's/\$cwd/\$PWD/g' \ +$BASH $TMPFILE | sed -e 's/\$cwd/\$PWD/g' \ -e 's/\$term/\$TERM/g' \ -e 's/\$home/\$HOME/g' \ -e 's/\$user/\$USER/g' \ diff --git a/examples/misc/aliasconv.sh b/examples/misc/aliasconv.sh index 75db0778..fe975d66 100755 --- a/examples/misc/aliasconv.sh +++ b/examples/misc/aliasconv.sh @@ -7,11 +7,11 @@ # Chet Ramey # chet@po.cwru.edu # -trap 'rm -f /tmp/cb$$.?' 0 1 2 3 6 15 - +trap 'rm -f $TMPFILE' 0 1 2 3 6 15 +TMPFILE=$(mktemp -t cb.XXXXXX) || exit 1 T=' ' -cat << \EOF >/tmp/cb$$.1 +cat << \EOF >$TMPFILE mkalias () { case $2 in @@ -31,9 +31,9 @@ EOF # since they whole thing is going to be surrounded by single quotes when # passed to mkalias -sed -e "s:':\\'\\\'\\':" -e "s/^\([a-zA-Z0-9_-]*\)$T\(.*\)$/mkalias \1 '\2'/" >>/tmp/cb$$.1 +sed -e "s:':\\'\\\'\\':" -e "s/^\([a-zA-Z0-9_-]*\)$T\(.*\)$/mkalias \1 '\2'/" >>$TMPFILE -sh /tmp/cb$$.1 | sed -e 's/\$cwd/\$PWD/g' \ +sh $TMPFILE | sed -e 's/\$cwd/\$PWD/g' \ -e 's/\$term/\$TERM/g' \ -e 's/\$home/\$HOME/g' \ -e 's/\$user/\$USER/g' \ diff --git a/examples/misc/cshtobash b/examples/misc/cshtobash index 8e2b05cf..ce49bfc9 100755 --- a/examples/misc/cshtobash +++ b/examples/misc/cshtobash @@ -15,25 +15,34 @@ # Chet Ramey # chet@po.cwru.edu # -trap 'rm -f /tmp/cb$$.? cshout cshin' 0 1 2 3 6 15 +trap 'rm -f $TMPFILE1 $TMPFILEa $TMPFILEe $TMPFILEv $TMPFILEco $TMPFILEci' 0 1 2 3 6 15 + +{ TMPFILE1=$(mktemp -t cb.1.XXXXXX) && + TMPFILEa=$(mktemp -t cb.a.XXXXXX) && + TMPFILEe=$(mktemp -t cb.e.XXXXXX) && + TMPFILEv=$(mktemp -t cb.v.XXXXXX) && + TMPFILEco=$(mktemp -t cshout.XXXXXX) && + TMPFILEci=$(mktemp -t cshin.XXXXXX) +} || exit 1 + T=$'\t' SOURCE="${1:+source $1}" -cat << EOF >cshin +cat << EOF >$TMPFILEci $SOURCE -alias >! /tmp/cb$$.a -setenv >! /tmp/cb$$.e -set >! /tmp/cb$$.v +alias >! $TMPFILEa +setenv >! $TMPFILEe +set >! $TMPFILEv EOF # give csh a minimal environment, similar to what login would provide -/usr/bin/env - USER=$USER HOME=$HOME PATH=/usr/bin:/bin:/usr/ucb:. TERM=$TERM SHELL=$SHELL /bin/csh -i < ./cshin > cshout 2>&1 +/usr/bin/env - USER=$USER HOME=$HOME PATH=/usr/bin:/bin:/usr/ucb:. TERM=$TERM SHELL=$SHELL /bin/csh -i < $TMPFILEci > $TMPFILEco 2>&1 # First convert aliases -cat << \EOF >/tmp/cb$$.1 +cat << \EOF >$TMPFILE1 mkalias () { case $2 in @@ -49,12 +58,12 @@ mkalias () } EOF -sed "s/^\([a-zA-Z0-9_]*\)$T\(.*\)$/mkalias \1 '\2'/" < /tmp/cb$$.a >>/tmp/cb$$.1 +sed "s/^\([a-zA-Z0-9_]*\)$T\(.*\)$/mkalias \1 '\2'/" < $TMPFILEa >>$TMPFILE1 echo '# csh aliases' echo -$BASH /tmp/cb$$.1 | sed -e 's/\$cwd/\$PWD/g' \ +$BASH $TMPFILE1 | sed -e 's/\$cwd/\$PWD/g' \ -e 's/\$term/\$TERM/g' \ -e 's/\$home/\$HOME/g' \ -e 's/\$user/\$USER/g' \ @@ -70,7 +79,7 @@ sed -e '/^SHLVL/d' \ -e '/^PWD/d' \ -e "s/'/'"\\\\"''"/g \ -e "s/^\([A-Za-z0-9_]*=\)/export \1'/" \ - -e "s/$/'/" < /tmp/cb$$.e + -e "s/$/'/" < $TMPFILEe # Finally, convert local variables echo @@ -82,7 +91,7 @@ sed -e 's/'"$T"'/=/' \ -e '/^[A-Za-z0-9_]*=[^(]/{ s/=/='"'/"' s/$/'"'/"' - }' < /tmp/cb$$.v | + }' < $TMPFILEv | sed -e '/^argv=/d' -e '/^cwd=/d' -e '/^filec=/d' -e '/^status=/d' \ -e '/^verbose=/d' \ -e '/^term=/d' \ @@ -110,7 +119,7 @@ echo echo '# special csh variables converted to bash equivalents' echo -sed -e 's/'"$T"'/=/' < /tmp/cb$$.v | +sed -e 's/'"$T"'/=/' < $TMPFILEv | grep "^cdpath=" | sed 's/(// s/ /:/g @@ -118,7 +127,7 @@ sed 's/(// s/cdpath=/CDPATH=/' -sed -e 's/'"$T"'/=/' < /tmp/cb$$.v | +sed -e 's/'"$T"'/=/' < $TMPFILEv | grep "^mail=" | sed 's/(// s/ /:/g -- cgit v1.2.1