繁体   English   中英

bash中多个shell命令输出的回显结果

[英]Echoing result of multiple shell command outputs in bash

我试图将多个命令的结果返回到单个输出行。 问题是,似乎仅当变量是命令时,命令才能相互输出。

范例1:

Provider=$(adb shell getprop gsm.operator.alpha)
Model=$(adb shell getprop ro.product.model)
pM=$Provider $Model
echo $pM + " is connected"

输出:已连接预期:已连接T-Mobile Nexus 5

echo
a='hello '
b='world'
c=$a$b
echo $c " its pretty outside."

如预期的那样工作,输出:您好,世界很漂亮。

感谢您的协助!

将第三行更改为

pM="$Provider $Model"

adb shell命令输出中的行以\\r\\n终止,因此您必须删除\\r 这样做的方法很多,这里是其中一种(以及其他一些更正):

Provider=$(adb shell getprop gsm.operator.alpha | tr -d \\r)
Model=$(adb shell getprop ro.product.model | tr -d \\r)
pM="$Provider $Model"
echo $pM " is connected"

暂无
暂无

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

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