javascript - 如何使用node编写一个shell脚本来依次运行多个javascript文件?

标签 javascript node.js bash shell

我想编写一个 .sh 文件来运行多个 javascript 文件。

我知道我需要以下几行:

#!/usr/bin/env node
chmod u+x ./a/file1.js ./a/file2.js

将两个 .js 文件依次放置是否正确?我需要先执行 file1.js,然后执行 file2.js,因为 file2.js 中的一些函数需要从 file1.js 输出的信息。

我也对 #!/usr/bin/env node#!/usr/bin/env bash 之间的区别感到有点困惑。我仍然可以使用 bash 运行我的 .js 文件吗?

最佳答案

#!/usr/bin/env node 将环境设置为 Node.js,这是一个 JavaScript 环境。

例如,如果您创建一个包含以下内容的简单脚本 test.js:

#!/usr/bin/env node

// now we're in JavaScript!
var d = new Date();

console.log('Current Time: ' + d);

然后将其设为可执行:

$ chmod u+x test.js

然后就可以在shell中执行了:

$ test.js
Current Time: Sun Nov 13 2016 07:14:15 GMT+0000 (GMT)

文件扩展名并不重要:

$ mv test.js test.sh
$ test.sh
Current Time: Sun Nov 13 2016 07:15:05 GMT+0000 (GMT)

如果您不想更改 JavaScript 文件以使其成为 shell 脚本,那么您可以使用 Node 从 shell 脚本运行它们。

tasks.sh:

#!/bin/sh
node ./a/file1.js
node ./a/file2.js

然后使其可执行并运行它:

$ chmod u+x tasks.sh
$ tasks.sh

关于javascript - 如何使用node编写一个shell脚本来依次运行多个javascript文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40571100/

相关文章:

linux - Node.js:在同一目录中发送文件

bash - 如何测试文件中是否存在某个字符串,如果存在,则使用 bash shell 检查文件中的其余行是否存在另一个字符串

linux - sed 编辑文件时的额外空字符

javascript - 仅当我不通过 jQuery 附加它时才执行的脚本?

javascript - 根据数组索引对查询结果进行排序

javascript - 如何从 formData() 中包含的数组中删除元素

mysql - React Ant Design 可编辑表

javascript - jQuery 验证 - IBAN

javascript - 将两个回调合并为一个返回

regex - '\K' 在此正则表达式中意味着什么?