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

后端 未结 3 1110
广开言路
广开言路 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:37

    echo 'I\'m a student'
    

    does not work. But the following works:

    echo $'I\'m a student'
    

    From the man page of bash:

    A single quote may not occur between single quotes, even when preceded by a backslash.
    ....
    Words of the form $'string' are treated specially. The word expands to string, with backslash-escaped characters replaced as specified by the ANSI C standard.

提交回复
热议问题