失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > #! 脚本解释器(如何不加node 直接执行js文件)

#! 脚本解释器(如何不加node 直接执行js文件)

时间:2019-04-29 01:01:31

相关推荐

#! 脚本解释器(如何不加node 直接执行js文件)

#! 脚本解释器(如何不加node 直接执行js文件)

内容来源:/liukai6/article/details/80071916

#!是特殊的表示符,其后面跟的是解释此脚本的脚本解释器shell的路径。

在Linux系统下,我们可以把JS文件当作shell脚本来运行,从而达到上述目的,具体步骤如下:

在shell脚本中,可以通过#!注释来指定当前脚本使用的解析器。所以我们首先在node-echo.js文件顶部增加以下一行注释,表明当前脚本使用NodeJS解析。

#! /usr/bin/env node

console.log('hello word')

NodeJS会忽略掉位于JS模块首行的#!注释,不必担心这行注释是非法语句。

然后,我们使用以下命令赋予node-echo.js文件执行权限。

$ chmod +x /home/user/bin/node-echo.js

最后,我们在PATH环境变量中指定的某个目录下,例如在/usr/local/bin下边创建一个软链文件,文件名与我们希望使用的终端命令同名,命令如下:

$ sudo ln -s /home/user/bin/node-echo.js /usr/local/bin/node-echo

应该知道的:

GNU/Linux操作系统中的/bin/sh本是bash (Bourne-Again Shell) 的符号链接,

但鉴于bash过于复杂,有人把bash从NetBSD移植到Linux并更名为dash (Debian Almquist Shell),

并建议将/bin/sh指向它,以获得更快的脚本执行速度。Dash Shell 比Bash Shell小的多,符合POSIX标准

Ubuntu继承了Debian,所以从Ubuntu 6.10开始默认是Dash Shell。

总结:#!/bin/sh是#!/bin/bash的缩减版。

python: 两种写法的区别

这个在unix类的操作系统才有意义。

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;

#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。

posted on -01-25 15:58 玉貔貅 阅读(...) 评论(...) 编辑 收藏

如果觉得《#! 脚本解释器(如何不加node 直接执行js文件)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。