【发布时间】:2022-11-28 21:43:26
【问题描述】:
我正在尝试在 doubleqoutes 中获取 bash printf 以给我“正确”数量的实际打印的反斜杠...... 谁在逃避谁? 为什么 2 个双引号反斜杠给我 1 个打印的反斜杠,而 4 个双引号反斜杠也给我 1 个打印的 1 个反斜杠....? 现在 6 个双引号反斜杠给我 2 个打印的反斜杠,8 个双引号反斜杠也是如此 ....?? 等等... 那么什么/谁在 bash doubleqouted 反斜杠中转义什么/谁......
povje@povje:~$ which bash
/bin/bash
povje@povje:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal
尝试在 bash 中使用 printf 打印双引号反斜杠:
povje@povje:~$ printf "\\"
\povje@povje:~$ printf "\\\\"
\povje@povje:~$ printf "\\\\\\"
\\povje@povje:~$ printf "\\\\\\\\"
\\povje@povje:~$ printf "\\\\\\\\\\"
\\\povje@povje:~$
所以
2个双引号 \ 给我 1 打印
4个doubleqouted \给我 1 打印
6个doubleqouted \ 给我 2 打印
8个doubleqouted \ 给我 2 打印
10*doubleqouted \ 给我 3 打印
.
.
那么为什么每第二对双引号反斜杠都被忽略了呢?
【问题讨论】: