我想编写一个 .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/