首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有双调反斜杠的bash中的printf

带有双调反斜杠的bash中的printf
EN

Stack Overflow用户
提问于 2022-11-28 13:37:36
回答 1查看 39关注 0票数 0

我试着在双打中得到bash,给我一个“正确”的反斜杠。谁在逃避谁?为什么两个双引号反斜杠给我一个打印的反斜杠,就像四个双反斜杠也给我一个打印的一个反斜杠.?现在6个双反斜杠给了我两个打印反斜杠,那么8个双引号反斜杠…?等等..。那么,谁在逃避什么/谁在大量使用双斜杠.

代码语言:javascript
复制
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的双引号反斜杠:

代码语言:javascript
复制
povje@povje:~$ printf "\\"
\povje@povje:~$ printf "\\\\"
\povje@povje:~$ printf "\\\\\\"
\\povje@povje:~$ printf "\\\\\\\\"
\\povje@povje:~$ printf "\\\\\\\\\\"
\\\povje@povje:~$

所以2双引文\给我打印1

_4_doubleqouted给我打印了一个

6双打\给我印了2

_8_doubleqouted给我打印了2个

10*双数\给我打印3

。。

那么,为什么每隔一秒钟就会有一对双打的背奴隶被忽视呢?

EN

回答 1

Stack Overflow用户

发布于 2022-11-28 13:43:26

反斜杠是特殊的双引号在bash。您需要在双引号中转义(即反斜杠)一个反斜杠才能得到一个文字反斜杠。使用单引号,您不需要双反斜杠。

反斜杠在printf中也是特殊的。您再次需要转义(即反斜杠)一个反斜杠来打印它。

但是如果在printf的参数中有一个反斜杠,后面跟着一个非特殊字符,则反斜杠被解释为是转义的。

代码语言:javascript
复制
printf '\'    # prints \
printf '\\'   # prints \ again
printf '\\\'  # prints \\
# ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74601435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档