我一直在寻找这个例子在这里:执行Node.js的文件中bash脚本
https://bbs.archlinux.org/viewtopic.php?id=168479
它说我可以执行JS/Node.js的是这样的:
#!/bin/sh
exec node --harmony <<EOF
console.log("hello")
EOF
不对任何人都有意义?究竟发生了什么?
一些谷歌搜索看起来像这样将EOF字符之间的数据拉到标准输入。
如果这是可能的,它将允许我解决一个特定的问题 - 即使用用户$ PATH中的任何可执行节点,同时仍然传递节点可执行标志(在本例中为“--harmony”)。
如果你看看链接,你只需要稍微查看一下上面的代码。
任何人都可以解释这个EOF语法是关于什么的?
一个具体的问题,我有,是我无法运行此代码:
我的猜测是,我们通过标准输入到Node.js的可执行文件,以及由于某种原因,它不能正确解析路径 -
即使cli.js是在同一个目录中cli-inspect.sh,需要功能无法正常工作。在第一行中,我们看到__dirname是“。”,通常情况并非如此。
对你而言,我不清楚你的问题。 –
这是什么“EOF EOF语法? –
它是'Here Document' https://en.wikipedia.org/wiki/Here_document#Unix_shells –