How to escape a single quote in single quote string in Bash?

后端 未结 3 1123
广开言路
广开言路 2020-11-30 02:58

I want to display a string in Bash like this

I\'m a student

Of course you can do it like this

echo \"I\'m a student\"
<         


        
3条回答
  •  南笙
    南笙 (楼主)
    2020-11-30 03:26

    The "ugly" solution mentioned by Glenn Jackman should actually be listed as a top level answer. It works well and is actually beautiful in some situations.

    'I'"'"'m a student'
    

    This ends the single quoted string after I then immediately starts a double quoted string containing a single quote and then starts another single quoted string. Bash then concatenates all contiguous strings into one.

    Beautiful!

提交回复
热议问题