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
  • 15,966
  • 8
  • 49
  • 55
Dileep Dominic
  • 499
  • 11
  • 23

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
  • 15,966
  • 8
  • 49
  • 55
1
> echo 'Today'\''s "program"'
Today's "program"
Michał Szczech
  • 466
  • 4
  • 17
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
  • 50,732
  • 33
  • 89
  • 96