Home > Mobile >  Eclipse program arguments, pass literal variable names
Eclipse program arguments, pass literal variable names

Time:01-25

I am writing a program which expects command line arguments of the form

-foo ${foo}

However, ${name} is Eclipse’s notation for variables. Passing the above command line argument causes Eclipse to look for an internal variable named foo and inserting that instead of the ${foo} variable specification before running the program.

What is the proper way of escaping ${foo} so Eclipse will pass it literally, rather than trying to expand it?

CodePudding user response:

TL;DR: $\{foo}

The escape character for Eclipse is \; prepending this will cause Eclipse to pass the following character literally.

Of a string resembling a variable specification, only the opening brace needs to be escaped in order to pass the whole thing literally.

Escaping $ and } is not needed but will do no harm – $\{foo}, \$\{foo} and \$\{foo\} will all result in ${foo} being passed to the program.

  • Related