[已解决]求助有关shell中双引号的问题

命令行相关的问题,init/tty/konsole/terminal,以及各种 shell 和脚本如 init/systemd 脚本和 bash 脚本的讨论。

[已解决]求助有关shell中双引号的问题

#1  chemistyh » 周二 8月 8日, 2017年 11:03 pm

我在网上查询的资料中得知,双引号是弱引用,双引号中包含的反斜线是保留其原有功能的。所以我觉得这两个输出应该是一样的啊,可以是为什么双引号中的反斜线好像没起作用。我用的是 bash,希望各位能帮忙看一下。
截图_2017-08-08_22-56-33.png
截图_2017-08-08_22-56-33.png (3.7 KiB) 被浏览 154 次
chemistyh
 
帖子: 3
注册: 周三 7月 12日, 2017年 11:05 am
Cash on hand: 55.00
送出感谢: 1
收到感谢: 0 次

Re: 求助有关shell中双引号的问题

#2  marguerite » 周三 8月 9日, 2017年 1:20 pm

是你选的 “\p” 的问题,换 “\$” 试试。


从我的 iPhone 发送,使用 Tapatalk
头像
marguerite
寨主
 
帖子: 3359
注册: 周六 3月 30日, 2013年 12:50 am
Cash on hand: 746.10
Bank: 6,030.70
送出感谢: 24
收到感谢: 353
勋章: 4
I knew SuSE from Day One! (1) Site Admin (1) developer (1)
1310Pro (1)

Re: 求助有关shell中双引号的问题

#3  chemistyh » 周四 8月 10日, 2017年 9:18 am

marguerite 写道: 是你选的 “\p” 的问题,换 “\$” 试试。


从我的 iPhone 发送,使用 Tapatalk

对,换成 $ 这个符号就没问题了,这种现象有什么说法吗,还是说别的什么 :question
chemistyh
 
帖子: 3
注册: 周三 7月 12日, 2017年 11:05 am
Cash on hand: 55.00
送出感谢: 1
收到感谢: 0 次

Re: 求助有关shell中双引号的问题

#4  zzndb » 周四 8月 10日, 2017年 4:10 pm

也许是因为双引号中反斜杠 「\」仅仅对有特殊意义的符号如 「$ ` \」进行转义,其余情况均原样输出。

而 「echo \p」,我记得「\」在 bash 中有,放在未写完命令后可换行继续写的效果,也就是达到命令行下写多行命令的效果,这个地方的反斜杠也许就被解释成了可换行,后面的原样输出,然后就是 p 了。

当然不一定的这样 :eating 仅供参考
zzndb
 
帖子: 13
注册: 周六 3月 11日, 2017年 3:27 pm
Cash on hand: 55.10
送出感谢: 3
收到感谢: 0 次

Re: 求助有关shell中双引号的问题

#5  chemistyh » 周四 8月 10日, 2017年 4:51 pm

zzndb 写道: 也许是因为双引号中反斜杠 「\」仅仅对有特殊意义的符号如 「$ ` \」进行转义,其余情况均原样输出。

而 「echo \p」,我记得「\」在 bash 中有,放在未写完命令后可换行继续写的效果,也就是达到命令行下写多行命令的效果,这个地方的反斜杠也许就被解释成了可换行,后面的原样输出,然后就是 p 了。

当然不一定的这样 :eating 仅供参考


一开始我也是这么想的,觉得可能是只对特殊符号有意义,但愿就是这样的,实在不行以后尽量不用双引号了,哈哈 :fretful
chemistyh
 
帖子: 3
注册: 周三 7月 12日, 2017年 11:05 am
Cash on hand: 55.00
送出感谢: 1
收到感谢: 0 次

Re: 求助有关shell中双引号的问题

#6  zzndb » 周四 8月 10日, 2017年 5:11 pm

chemistyh 写道: 一开始我也是这么想的,觉得可能是只对特殊符号有意义,但愿就是这样的,实在不行以后尽量不用双引号了,哈哈 :fretful


哈哈 :eating
zzndb
 
帖子: 13
注册: 周六 3月 11日, 2017年 3:27 pm
Cash on hand: 55.10
送出感谢: 3
收到感谢: 0 次


回到 命令行

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客