作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不久前我已经注意到,在 zsh 中,您可以像在 bash 中一样通过键入\\来获得\。
> echo \\
\
bash$ echo \\\\
\\
zsh> echo \\\\
\
最佳答案
不,这不是错误。只是这些shell中的echo实现
有不同的默认设置来解释反斜杠序列。
在任一 shell 中,命令行解析器将删除一层反斜杠
将 4 个反斜杠转换为 2。然后将该参数传递给 echo
内置命令。当 echo 解释反斜杠序列 1 反斜杠是
该序列的输出,如果反斜杠解释不是由 echo 完成的
将输出 2 个反斜杠。
在 echo
的任一 shell 实现中-e
或 -E
可以使用选项
分别启用或禁用反斜杠解释。所以以下
将在任一 shell 中产生相同的输出:
echo -e \\\\
echo -E \\\\
setopt BSD_echo
更改默认值,
shopt -s xpg_echo
.
printf
反而。
关于zsh 转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430628/
我是一名优秀的程序员,十分优秀!