Author: Stan Eisenstat
Subject: Re: [Cs323] Follow up: last line
Date: Wednesday, 30 Sep 2020, 06:54:54
> Message Posted By: Unknown
>
> When I run
> % echo -n 'a << b\nc\na' | parsley
>
> It gives me:
>
> (1)$ CMD (Depth = 0): SIMPLE, argv[0] = a STDIN << HERE
> HERE:
> So, I don't think the input lines are terminated by 'b'. I tried this:
>
> $ echo -n 'a << b\nc\nb' | /c/cs323/Hwk2/parsley
>
> It gives me the same results. I am not sure why
SHORT ANSWER: Try
% echo -n -e 'a << b\nc\na' | parsley
instead.
LONG ANSWER: For some shells (e.g., tcsh) the echo
command is a built-in command that is executed by the
shell itself. For others (e.g., bash) it is executed by
running /bin/echo, which behaves slightly differently.
The echo command built into tcsh (which is the shell that
I use) does not require the -e flag to give the results I
wanted; /bin/echo does.
--Stan-
PREV
INDEX
NEXT