Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!agate!shelby!decwrl!jumbo!hisgen From: hisgen@jumbo.dec.com (Andy Hisgen) Newsgroups: comp.unix.ultrix Subject: csh echo problem with backquotes Keywords: csh, echo, backquotes Message-ID: <14174@jumbo.dec.com> Date: 26 Oct 89 22:55:24 GMT Organization: DEC Systems Research Center, Palo Alto Lines: 69 I'm having a problem with csh's echo command in combination with back-quote. The version of Ultrix we're running is 3.1, the csh is: % ls -l /usr/bin/csh -r-xr-xr-x 1 root 94208 Nov 15 1988 /usr/bin/csh When I type the command: % echo "`date` Start" > echoproblem every other character in the output file is \377, according to od(1): % od -c echoproblem 0000000 377 T 377 h 377 u 377 377 O 377 c 377 t 377 0000020 377 2 377 6 377 377 1 377 5 377 : 377 1 377 3 0000040 377 : 377 4 377 7 377 377 P 377 D 377 T 377 0000060 377 1 377 9 377 8 377 9 377 377 S 377 t 377 a 0000100 377 r 377 t \n 0000105 This problem doesn't occur if I use /bin/echo instead of echo. Nor does it occur if I write: % set d = `date` % echo "$d Start" > echoproblem Here are some more test cases, starting first with cases that have the \377 problem followed by cases that don't have the problem. These tests seem to show that if an echo command has an argument that uses back-quotes, then any other arguments that are quoted (whether with double-quotes, single-quotes, or backslash) have a \377 stuck in front of each character. % echo hello > hellofile % echo "`cat hellofile` Start" | od -c 0000000 377 h 377 e 377 l 377 l 377 o 377 377 S 377 t 0000020 377 a 377 r 377 t \n 0000027 % echo `date` "Start" | od -c 0000000 T h u O c t 2 6 1 5 : 3 7 0000020 : 4 5 P D T 1 9 8 9 377 S 377 0000040 t 377 a 377 r 377 t \n 0000050 % echo `date` 'Start' | od -c 0000000 T h u O c t 2 6 1 5 : 3 8 0000020 : 0 0 P D T 1 9 8 9 377 S 377 0000040 t 377 a 377 r 377 t \n 0000050 % echo `date` \Start | od -c 0000000 T h u O c t 2 6 1 5 : 3 8 0000020 : 1 3 P D T 1 9 8 9 377 S t 0000040 a r t \n 0000044 Test cases that do not have the problem: % echo `date` Start | od -c 0000000 T h u O c t 2 6 1 5 : 3 9 0000020 : 0 3 P D T 1 9 8 9 S t a 0000040 r t \n 0000043 % echo `date` | od -c 0000000 T h u O c t 2 6 1 5 : 3 9 0000020 : 2 8 P D T 1 9 8 9 \n 0000035 % Andy Hisgen DEC Systems Research Center hisgen@src.dec.com DECSRC::HISGEN