linux - 如何将 echo 的结果分配给 bash 脚本中的变量

标签 linux bash

我是 Linux 新手,复制了一个从 XML 中提取值的 bash 脚本。 我可以完美地回显计算结果,但将其分配给变量似乎不起作用。

#!/bin/bash
IFS=$'\r\n' result=(`curl -s "http://xxx.xxx.xxx.xxx/smartmeter/modules" | \
xmlstarlet sel -I -t -m "/modules/module" \
    -v "cumulative_logs/cumulative_log/period/measurement" -n \
    -v "point_logs/point_log/period/measurement" -n | \
sed '/^$/d' `)

# uncomment for debug
echo "${result[0]}"*1000 |bc 
gas=$(echo"${result[0]}"*1000 |bc)

echo "${result[0]}"*1000 |bc

给我所需的结果,但我不知道如何将其分配给变量。

我试过刻度线:

gas=\`echo"${result[0]}"*1000 |bc\`

还有 $(

有人能指出我正确的方向吗?

最佳答案

如果你想使用 bc 那么 您可以只使用反引号,为什么要使用反斜杠?这段代码有效,我刚刚测试过。

  gas=`echo ${result[0]}*1000 | bc`

echo 之后使用一个空格并且 * 运算符周围没有空格

关于linux - 如何将 echo 的结果分配给 bash 脚本中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34532677/

相关文章:

python - 替换 JSON 文件中的字符串

bash - 如何依次从 2 个文件中读取 1 行?

python - 有没有办法使用 python 脚本运行 ELinks,比如 FireFox 和 Selenium webdriver 和 python

linux - SSH 与 WebDAV - 各自的安全漏洞是什么?

c++ - Tcp Client 发送的数据接收速度非常慢

c - 程序仅在首次运行时挂起?

对 if 语句使用多行宏时出现编译时错误

bash - 在 xterm 中,我可以在不重置当前颜色的情况下关闭粗体或下划线吗?

mysql - 通过ssh访问Mysql(不允许隧道)

linux - "=~"在linux的bash shell中做什么