如何从BASH中的节点脚本访问返回值?

时间:2017-04-02 13:39:44

标签: javascript node.js bash

我们说我有一个调用节点脚本的bash脚本。我试过这样做:

b.sh文件:

#!/bin/bash
v=$(node app.js)
echo "$v"

app.js文件:

#!/usr/bin/env node
function f() {
   return "test";
}
return f();

如何从我的bash脚本中访问节点脚本返回的值(" test")?

2 个答案:

答案 0 :(得分:11)

@Daniel Lizik为该部分给出了一个很好的答案(现已删除):如何输出值,例如:用他的回答:

#!/usr/bin/env node
function f() {
   return "test";
}
console.log(f())

对于部分如何捕获bash中的值,请完全按照您的问题执行:

#!/bin/bash
val=$(node app.js)
echo "node returned: $val"

以上版画:

node returned: test

答案 1 :(得分:2)

您可以使用 process.stdout.write

将输出写入标准输出

b.sh 文件:

#!/bin/bash
v=$(node app.js)
echo "$v"

app.js 文件:

#!/usr/bin/env node
function f() {
  return "test";
}
process.stdout.write(f());