繁体   English   中英

回应换行抑制[重复]

[英]echo newline suppression [duplicate]

这个问题在这里已有答案:

尽管-n是用单引号写的,为什么$echo '-n'在终端上写-n

因为引号由shell处理,而echo命令接收plain -n 如果你想回显-n ,你可以例如printf '%s\\n' -n

我发现以下内容只适用于bash:

echo -n PRINT_THIS

所以,你应该放在第一位。

你应该尝试尽可能使用更便携的printf

你可以试试

echo -e '\055n'

引用没有用,因为......呃,很难解释。 在评估“echo”命令本身之前,shell会删除引号,所以到那时它们并不重要。

尝试这个:

echo - -n

这没有记录为工作(我正在运行Ubuntu Linux),但echo几乎肯定是你正在使用的任何shell的内置,所以无论如何,手册页是有问题的。 它对我有用。 (我正在运行zsh因为我真的很温文尔雅)。

编辑 :好吧,似乎bash内置edit不会那样。 我不知道该建议什么; 这个:

echo '' -n

会给你“-n”前面有一个空格,这取决于你正在做什么,可能没问题。

在那里不安静:

echo -e 'a-n\b\b\b '
 -n

令人惊讶的是这有效:

echo -e '-n\b'
-n

这是我可以解释的解决方案:

echo "foobar" | sed 's/.*/-n/'
-n

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM