问题标签 [shebang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - OCaml中的多行shebang?
简而言之,我想抽象出这个 shebang,这样我就可以将它复制并粘贴到其他 .ML 文件中,而不必每次都指定文件名:
我意识到我可以放弃这-o hello
一点,但我希望所有二进制文件都具有 UNIX 名称 ( hello
),而不是 Windows 名称 ( hello.ml.exe
)。
你需要一个复杂的 shebang 来做到这一点。具有所需行为的 Clojure 示例:
Clojure 是基于 Java 的,这就是为什么clj
需要文件的基本名称(something
,而不是something.clj
)。为了获得基本名称,您需要一个多行 shebang,因为单行 shebang 只能处理一个简单的静态命令行参数。为了做多行shebangs,你需要一个同时的语法:
- 向 shell 发送 shell 命令
- 隐藏主要语言的 shell 命令
有谁知道 OCaml 的诡计来做到这一点?我尝试了以下但没有成功:
perl - 编写脚本时,#!/usr/bin/perl 和 #!/usr/bin/env perl 有什么区别?
显然,这同样适用于替代 perl 的 python、bash、sh 等!
下面昆汀的回答显然是正确的,所以我接受了它,但我想我的真正意思是'两种使用方式的优缺点是什么!调用 perl/python/bash 作为脚本的解释器?
go - 什么是合适的 Go shebang 线?
我喜欢使用 shebangs 直接运行我的 Perl 脚本:
Go 程序的 shebang 是什么?
interpreter - Free Pascal 有命令行解释器吗?
例如,我可以通过在我的 Pascal 文件中添加一个 shebang 来使用它:
linux - 社邦线不工作
不知道我的 shebang 线有什么问题:
有任何想法吗?
scala - scalac代码中的Shebangs
scala 解释器允许 shebangs,但奇怪的是,scalac borks 在他们身上。有没有像这样的技巧来解决这个缺陷?
node.js - 为什么在 env 调用中将参数传递给命令不起作用?
我有一个 shell 脚本来运行带有一些参数的节点,如下所示:
这在 OS X 下可以正常工作,但在 Ubuntu 中会出现以下错误:
节点肯定已安装并位于 PATH 上,因为如果我删除该--harmony_proxies
标志,它就可以正常工作。env
在 Ubuntu 中使用时是否有一些不同的参数传递方式?
perl - 我可以在我的 Unix Perl 脚本中不使用 shebang 行吗?
我可以写一个没有第一行的 Perl 程序#!/path/
吗?
谢谢你。
ruby - Ruby regex 适用于 ruby 命令,但不适用于 shebang
我在 ruby 文件中有以下 2 个正则表达式。当我使用ruby
命令时它们运行良好,但如果我尝试通过./apachereport.rb
它运行会产生错误。
正则表达式:
错误:
我正在使用的 shebang 如下,它似乎可以与其他 ruby 文件一起使用:
ruby - 指定字符编码的方式有什么区别?
我见过几种指定字符串编码的方法,如下所示:
# -*- coding: utf-8 -*-
# coding: utf-8
# encoding: utf-8
#!/usr/bin/env ruby -Ku
#!/usr/bin/env ruby -Eutf-8
Encoding.default_external = "utf-8"
还有其他的吗?有人可以告诉我它们的区别(如果有的话),以及它们的来源(如果有的话)?有旧的和新的吗?次要的和流行的;贬值的和赞赏的?