2

I want to echo/printf a dollar sign into a file - but echo $ > myfile or such does not work (not surprising).

I tried escaping it like echo \$ > myfile but it is also not working.

What is the correct way to perform it?

I'm working with TCSH on SunOs.

RonK
  • 241

2 Answers2

4

You can use printf and single quotes to avoid variable expansion:

printf '$' > myfile
jlliagre
  • 9,031
3

From this link, you can use the \x24 method, where 24 is the hex for the dollar sign. Just that this structure doesn't work 100% with string using the double quote, so you probably want to use a single quote. So this statement

echo "Foo "$'\x24'" bar" >> somefile

will create somefile with the content

Foo $ bar

Note: tcsh (name dropped in the original question) does not support dollar-quote literals (like $'\x24'). Nor does dash. It is not a POSIX standardized feature.

Juan
  • 173
  • 1
  • 6
Roy B
  • 131
  • 1