zoukankan      html  css  js  c++  java
  • #! 脚本解释器(如何不加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的安装路径,再调用对应路径下的解释器程序完成操作。

    时光如白驹过隙,匆匆而已。
  • 相关阅读:
    Leetcode: Flatten Binary Tree to Linked List
    POJ 1180 Batch Scheduling
    STL容器
    关于bfs时间轴
    dfs遍历痕迹的清理
    dfs、遍历与for
    在各OJ上的名号
    哈尔滨理工大学第七届程序设计竞赛初赛(BFS多队列顺序)
    东北林业大学第12届ACM(打表)
    浙江工业大学迎新预赛(容器的使用)
  • 原文地址:https://www.cnblogs.com/yupixiu/p/10320100.html
Copyright © 2011-2022 走看看