#! 脚本解释器(如何不加node 直接执行js文件)
内容来源:https://blog.csdn.net/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的安装路径,再调用对应路径下的解释器程序完成操作。
转载于:https://www.cnblogs.com/yupixiu/p/10320100.html
#! 脚本解释器(如何不加node 直接执行js文件)相关推荐
- 用Python执行js文件代码并获取返回结果
js代码(myjs.js): /** @Title: This is a file for --* @Author: JackieZheng* @Date: 2022-04-12 09:24:13* ...
- 怎样编写和执行Js文件
(1)js文件如何在浏览器中加载? 让浏览器识别的标志:script标签 <script>xxx</script>这组标签,是用于在html页面中插入js的主要方法. 它主要有 ...
- python执行js文件报错_使用PyV8在Python爬虫中执行js代码
前言 可能很多人会觉得这是一个奇葩的需求,爬虫去好好的爬数据不就行了,解析js干嘛?吃饱了撑的? 搜索一下互联网上关于这个问题还真不少,但是大多数童鞋是因为自己的js基础太烂,要么是HTML基础烂,要 ...
- python执行js文件
#!/usr/bin/python # -*- coding: UTF-8 -*- import execjs,os #执行本地自定义的js print execjs.compile('functio ...
- python脚本 pyqt 打包成windows可执行exe文件 pyinstaller
今天学习pyqt,做了一些好玩的东西. 好奇之中想试试python脚本编译成可执行文件,一顿查询之后成功了! 我的环境是: windows10 64bit python3.5 pyqt5 ...
- 25.使用getScript()方法异步加载并执行js文件
使用getScript()方法异步请求并执行服务器中的JavaScript格式的文件,它的调用格式如下所示: jQuery.getScript(url,[callback])或$.getScript( ...
- 六、v8引擎执行JS文件
这个环节比较简单,直接上代码了 main.cpp // Copyright 2015 the V8 project authors. All rights reserved. // Use of th ...
- 关于java代码中执行js脚本
应用场景:java语言是静态语言,执行时需要预编译.所以在一些需求变换比较频繁的时候使用起来就不是特别方便了.并且本人在用数据库的存储过程的时候也遇到了每个客户的需求不一致,导致需要频繁的修改存储过程 ...
- python不弹窗执行js_python使用execjs执行js
python 执行js代码 简单调用 importexecjs execjs.eval("new Date") 返回值为:2018-04-04T12:53:17.759Z exec ...
最新文章
- 20210620 Successive projection algorithm(连续投影法)
- 互联网寒冬!“996”为什么还没实行?我还等着早点下班呢!
- 前端学习(1132):正则表达式学习目标
- 9-n个人中选k个人的选择方法种类
- React常用的命令解析
- c语言入门经典必备代码
- 基于javaweb+springboot的在线购书系统网上书店图书商城(前台、后台)(java+Springboot+ssm+mysql+maven)
- python可视化窗口制作一个摇骰子游戏_通过构建一个简单的掷骰子游戏去学习怎么用 Python 编程...
- PS绘制的路径不见了
- NOIP模拟 9.09
- [NOIp 2014]解方程
- Excel如何快速筛选?
- 4K工业级高清4进1出HDMI自动USB KVM多电脑切换器(MT-HK401)
- 云计算工程师必备技能
- openlayer地图裁切
- 计算机平面设计基础 photoshop基本操作
- 英雄杀-如何通关挑战
- 文件is not found in the curren directory or on the Matlab path
- (自适应移动设备)最新响应式个人博客自媒体文章博客资讯类网站源码 织梦模板
- TVS管选型详细流程 瞬态稳压二极管
热门文章
- minio的安装及使用
- java.lang.NullPointerException出现原因及解决办法
- 【Python】【进阶篇】十二、Python爬虫的Xpath简明教程(十分钟入门)
- 大数据离线---网站日志流量分析系统---日志数据原始信息
- android开发怎么兼容不同的sdk,android – 如何在使用特定版本的功能时使我的项目与不同的sdk版本兼容...
- husky + lint-staged + commitizen 配置提交代码规范
- React 系列教程2:编写兰顿蚂蚁演示程序
- 铜陵新松工业机器人项目_首期投资约12亿元 新松机器人(苏州)未来科技城项目在苏州相城开工奠基...
- 谱定理、瑞利熵、PCA(主成分分析)、clustering algorihtm
- 消息称即刻搜索即将关闭