如何转义左双引号和右双引号?

如何转义左双引号和右双引号?

我想更改名称MV命令。该文件位于左右双引号内。例如

“我的文件名。”想把它改成 我的文件名

我怎样才能逃脱特殊字符。我知道常规双引号但不知何故无法找到一种方法来逃避特殊的双引号。

我现在更改名称的方法是使用图形文件管理器 nautilus。我使用 gnome 终端作为终端模拟器。

答案1

据我所知,左双引号和右双引号对于 bash 来说并不特殊,因此它们不会像普通双引号一样工作"。他们不需要逃跑。

尝试用单引号将所有内容括起来' ',因为它使所有内容都是字面意思。

您的问题可能是名称中的空格,而不是引号。

答案2

ls *'My file name'* | od -t x1o1ac应该以十六进制、八进制、ascii 名称和 C 符号显示文件名字节。

我怀疑您的引号是左(和右)双引号,UTF-8 编码中的多字节。

您可以使用$'...'Bash 字符串输入任意八进制。

$ echo $'\342\200\234 \342\200\235'
“ ”
$ echo $'\342\200\234 \342\200\235' | od -t x1o1ac
0000000  e2  80  9c  20  e2  80  9d  0a
        342 200 234 040 342 200 235 012
          b nul  fs  sp   b nul  gs  nl
        342 200 234     342 200 235  \n
0000010

相关内容