SysV echo
John E Van Deusen III
jiii at visdc.UUCP
Thu May 18 10:49:05 AEST 1989
In article <17548 at mimsy.UUCP> chris at mimsy.UUCP (Chris Torek) writes:
> suppose you are given a shell variable $foo, and need to echo it
> uninterpreted?
>
> There is a solution (albeit ugly):
>
> cat << end
> $foo
> end
For all purists who are almost certainly destined to be dragged into the
SysV world kicking and screaming, let us formalize this solution as the
command eucho. [eu] is from the Greek and means "good", "done easily",
or "true".
cat <<- *eueod
$@
*eueod
> but you may need to do something more. To keep echo from munching
> away backslashes, you might do this:
>
> [ exasperation and shell humor concerning the difficulty of creating a
> suitable shell variable deleted ]
Actually SysV echo does not munch all backslashes, only ones it finds
to its liking; echo '\f\g\h' will output <ff>\g\h<cr>. Is this
unreasonable? The shell, sh(1), also has an inconsistent appetite
for back slashes.
foo=FOO
echo \$foo => $foo
echo `echo \$foo` => FOO
In the second case the backslash was removed as a special treat, because
the expression was contained within accents grave.
--
John E Van Deusen III, PO Box 9283, Boise, ID 83707, (208) 343-1865
uunet!visdc!jiii
More information about the Comp.unix.wizards
mailing list