1

I need to display a string like Today's "program" as output in unix. But If i gave the below none of the options are working .

>echo "Today's "program""
Today's program

> echo "Today\'s "program""
Today\'s program

> echo 'Today's "program"'
>

echo 'Today\'s "program"'
>
fredtantini
  • 14,608
  • 7
  • 46
  • 54
Dileep Dominic
  • 401
  • 7
  • 19

3 Answers3

3

If you want to display double quotes inside double quotes, you have to escape them:

$> echo "today's \"program\""
today's "program"

You could also concatenate quoted strings:

$> echo 'today'"'"'s "program"'
today's "program"

Or just escape them all:

$> echo today\'s \"program\"
today's "program"
fredtantini
  • 14,608
  • 7
  • 46
  • 54
1
> echo 'Today'\''s "program"'
Today's "program"
Michał Szczech
  • 466
  • 4
  • 16
1

Multiple possibilities:

> echo 'Today'"'"'s "program"'
Today's "program"
> echo Today"'"s '"program"'
Today's "program"
> echo Today\'s '"program"'
Today's "program"
> echo Today\'s \"program\"
Today's "program"

For the difference between these 3 kinds of escaping see for example this article.

fancyPants
  • 49,071
  • 32
  • 84
  • 94