在 Bourne Shell 中从变量中删除换行符
在 bourne shell 中,我有以下内容:
VALUES=`some command that returns multiple line values`
echo $VALUES
看起来像:
"ONE"
"TWO"
"THREE"
"FOUR"
我希望它看起来像:
"ONE" "TWO" "THREE" "FOUR"
有人能帮忙吗?
In bourne shell I have the following:
VALUES=`some command that returns multiple line values`
echo $VALUES
Looks like:
"ONE"
"TWO"
"THREE"
"FOUR"
I would like it to look like:
"ONE" "TWO" "THREE" "FOUR"
Can anyone help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
回显 $VALUES | tr '\n' '
echo $VALUES | tr '\n' ' '
另一种方法,如果您不仅想打印出代码,还想将其分配给变量,并且末尾没有虚假空格:
Another method, if you want to not just print out your code but assign it to a variable, and not have a spurious space at the end:
接受的解决方案对我不起作用(在 OS X Yosemite 上)。这就是我使用的:
echo -n $VALUES
The accepted solution didn't work for me (on OS X Yosemite). This is what I used:
echo -n $VALUES
另一种选择是使用
xargs
(它保留最后的换行符 - 而不是使用tr
可能的尾随空格):@yozloy:如何使用
< 传递转义字符串;<<
Another option is using
xargs
(which keeps a final newline though - instead of a possible trailing space usingtr
):@yozloy: how to pass escaped string using
<<<