我是脚本新手,我试图弄清楚是否可以在Javascript编写的命令行上运行脚本,只需键入“./script-name arg1 arg2”即可。我想使用Javascript,因为arg2是一个JSON文件,但如果我需要以更精确的方式调用脚本,我可以更改为另一种语言。有什么想法吗?
编辑:我已经查看了问题here,但没有一个解决方案使用“./script-name”运行脚本,就像我想要的那样。
答案 0 :(得分:1)
Node.js尊重shbang系列历史悠久的unix传统。因此,要使node.js脚本的行为与常规可执行程序相同,您需要做的就是将其添加为第一行:
#! /usr/bin/env node
从技术上讲,这不会运行节点,而是运行env
命令(在所有unixen上都可用),然后找到node.js的安装位置并运行它。这使得您的脚本可以跨多个发行版(ubuntu,redhat等)移植,并且可以跨越不同的unix(Linux,MacOS,BSD等)。
然后你只需要让你的脚本可执行:
chmod +x your-script.js
然而,在Windows上,它会变得有点复杂。但是,npm具有内置功能,可以将脚本转换为正确的命令,因此您甚至不需要这样做:
./your-script.js
你可以这样做:
your-script
您需要做的就是:
chmod +x
事。npm init
(这将创建一个package.json文件)编辑package.json文件并添加bin
属性
"bin" : {
"your-script" : "./your-script.js"
}
在目录
npm link
醇>