【问题标题】:How I can add variable in the node-red exec/unix command node如何在 node-red exec/unix 命令节点中添加变量
【发布时间】:2017-08-10 06:16:38
【问题描述】:

我想使用 Unix 命令在文件末尾添加一些变量值(例如 test=test 值)。因为我想在 FILE_NAME.txt 的末尾添加测试值。所以 FILE_NAME.txt 将包含测试值

nano FILE_NAME.txt

将在 FILE_NAME.txt 中显示字符串 >“测试值”

sudo sed -i -e \$aVARIABLE(VAR_VALUE) /etc/FILE_NAME.txt

我尝试使用连接到 exec 节点输入的节点红色文本输入字段节点进行类似操作。但是没用。

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: unix iot node-red


    【解决方案1】:

    不完全清楚你在问什么,但是,

    如果您只想在文件中添加行,那么 file-out 节点具有将 msg.payload 附加到给定文件的模式。

    否则,如果您想执行一个带有附加到命令末尾的变量的命令,那么exec 节点将执行此操作。

    这两个节点都在代码集中(但都从默认 Bluemix 版本中删除,因为它们在 PaaS 环境中没有意义)

    【讨论】:

    • 是的,我想使用 exec,(在本地树莓派上运行)。但不要如何在 exec 命令中放入变量。该变量将来自用户输入文本字段(仪表板节点)。
    • exec 节点有一个选项可以在执行之前将输入 msg.payload 添加到命令的末尾
    • 非常感谢您的帮助。但是,我对 node-red 很陌生,不知道如何将 msg.payload 放在 exec 命令中。我应该输入类似 sudo sed -i -e \$amsg.payload /etc/FILE_NAME.txt 还是 sudo sed -i -e \$a{msg.payload} /etc/FILE_NAME.txt 之类的内容。我都试过了。它没有用。当我写这样的东西时,我可以看到 FILE_NAME.txt 包含 {msg.payload} 或 msg.payload 取决于我写的内容。
    • 不,你没有在命令中添加任何额外内容,msg.payload 将被添加到命令的 end
    • 当我添加“append msg.payload”时,我的测试 shell 脚本会得到“[object”,因为它是 $1 参数...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    相关资源
    最近更新 更多