首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在shell编程中打印双引号

在shell编程中打印双引号
EN

Stack Overflow用户
提问于 2013-09-21 13:12:03
回答 3查看 80.1K关注 0票数 22

我想在shell编程中使用echo语句打印双引号。

示例

代码语言:javascript
复制
echo "$1,$2,$3,$4";

打印xyz,123,abc,pqrs

如何打印"xyz","123","abc","pqrs";

我曾尝试在echo语句中使用双引号,但没有打印出来。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-21 13:12:51

你只需要引用它们:

代码语言:javascript
复制
echo "\"$1\",\"$2\",\"$3\",\"$4\""

如上所述,here

将字符括在双引号(‘“’)中的

将保留引号中所有字符的字面值,但‘$’、‘’, ‘\’, and, when history expansion is enabled, ‘!’. The characters ‘$’ and ‘’除外,它们将保留其在双引号中的特殊含义(请参见外壳展开)。只有当后面跟有以下字符之一时,反斜杠才会保留其特殊含义:‘$’、‘`’、‘”’、‘\’或换行符。在双引号内,后面跟这些字符之一的反斜杠将被删除。没有特殊含义的字符前面的反斜杠保持不变。双引号可以用反斜杠加在双引号内。如果启用,则将执行历史记录扩展,除非出现‘!’出现在双引号中是使用反斜杠进行转义的。‘!’前面的反斜杠不会被删除。

特殊参数‘*’和‘@’在双引号中时具有特殊含义(请参阅外壳参数展开)。

票数 36
EN

Stack Overflow用户

发布于 2013-09-21 13:19:28

使用printf,不需要转义:

代码语言:javascript
复制
printf '"%s","%s","%s","%s";\n' $1 $2 $3 $4

并且后面的;也会被打印出来!

票数 14
EN

Stack Overflow用户

发布于 2013-09-21 13:17:11

您应该对"进行转义以使其在输出中可见,您可以这样做:

代码语言:javascript
复制
echo \""$1"\",\""$2"\",\""$3"\",\""$4"\"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18929149

复制
相关文章

相似问题

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