【问题标题】:Echoing result of multiple shell command outputs in bashbash 中多个 shell 命令输出的回显结果
【发布时间】:2014-11-25 19:45:07
【问题描述】:

我正在尝试将多个命令的结果返回到单个输出行。问题是它似乎只在变量是命令时才输出命令。

示例 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."

按预期工作,输出:hello world 它在外面很漂亮。

感谢您的帮助!

【问题讨论】:

    标签: bash shell variables scripting echo


    【解决方案1】:

    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"
    

    【讨论】:

      【解决方案2】:

      将第三行改为

      pM="$Provider $Model"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-23
        • 2020-07-19
        • 1970-01-01
        • 2022-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-08
        相关资源
        最近更新 更多