问题标签 [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.
javascript - 让 Node.js 支持 JavaScript 文件的 shebang (#!)
一些脚本语言(例如 Python 或 Bash)#
用于注释。
我可以运行脚本:
或者
是否可以让 JavaScript 支持 shebang?
php - PHP shebang 不合适?
我打算在 php 脚本中添加一个 shebang 行
但我环顾四周,人们似乎没有这样做。
- http://github.com/zurb/foundation/blob/master/marketing/about.php
- http://github.com/EllisLab/CodeIgniter/blob/develop/system/libraries/Cart.php
- http://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Form.php
shebang一个php文件是“不合适的”还是违反了某些规则?
linux - bash 和 linux 内核中的 Shebang 行限制
我正在尝试执行由 zc.buildout 自动生成的 python 脚本,所以我无法控制它们。我的问题是 shebang 行(#!)对于 bash(80 个字符限制)或直接执行(一些我不知道的 Linux 内核常量)来说太长了。
这是一个示例脚本,可帮助您重现我的问题:
如何将 bash 或内核配置为允许更大的 shebang 行?
javascript - 是否可以使用 shebang 但以某种方式从 JavaScript 解释器中“隐藏”它?
我想我的问题很难解读(请随意完善它)。但它与脚本中 shebang 行的使用有关——特别是在这种情况下是 JavaScript。假设我有这个phantomjs
脚本:
我怀疑这是一个非常荒谬的问题,但是:
是否有任何可能的技巧可以让您在上面的代码中保留 shebang 行 - 这样您就可以执行文件而无需在脚本执行前加上(在这种情况下)phantomjs
- 并且仍然可以在 JavaScript 中没有错误地解释它?
如果没有,是否有任何其他语言解释器(例如 Ruby、Python)“接受”shebang 行,或者更好的是,有办法忽略它们?
perl - Perl 5.6 脚本需要(调用)一个 Perl 5.10 脚本
我有一个脚本 foo.pl,它的 sheebang 行指向 Perl 5.6 二进制文件。foo.pl “需要”另一个脚本 bar.pl,它的 sheebang 行具有 Perl 5.10。
有没有人遇到过这种情况?任何帮助,将不胜感激。
PS 由于项目中的依赖性,无法将使用 5.6 的脚本更改为最新的 Perl 版本。所以,我需要和那里的任何东西一起生活。
php - 如何制作可执行的phar?
我想将 phar 脚本作为可执行文件直接启动,foo.phar <params>
而不是php foo.phar <params>
.
perl - #!/usr/bin/perl 中的 -T 或 -w 有什么意义?
我用谷歌搜索#!/usr/bin/perl
,但找不到任何令人满意的答案。我知道这是一个非常基本的事情,但是,仍然可以解释我#!/usr/bin/perl
在 Perl 中的意义是什么?此外,在 中-w
或-T
表示#!/usr/bin/perl
什么?我是 Perl 的新手,所以请耐心等待。
python - 当python文件必须使用#!/bin/env python时处理多个python版本
我有这个问题:
System A
运行 Ubuntu 并且需要Python 2.6
一堆不同的东西。
我在本机Python 2.7
上单独安装。System A
System B
Python 2.7
我有一个 python 脚本BLAH
,上面写着#!/bin/env python
。
再往下,它执行另一个脚本SIGH
,上面也说:#!/bin/env python
.
BLAH
需要在System A
or上运行System B
,并且它总是需要运行Python 2.7
----
到目前为止我的解决方案的一部分:
有一个包装脚本首先尝试查看是否which python
指向 Python 2.7
如果没关系,那么BLAH
使用该路径运行 python。
否则尝试which python2.7
使用该路径运行BLAH
,并将该路径添加到env PATH
.
此解决方案的问题是:
On System A
(单独安装了 Python 2.7)执行
时BLAH
,由于我编写了包装脚本,它与 Python 2.7 一起运行(到目前为止还可以..)
当BLAH
spawns时SIGH
,SIGH
使用 shebang 在路径中查找 python 然后它遇到了麻烦,因为它是在env
's中寻找 python,PATH
它应该python2.7
在路径中寻找。
有没有一种干净的方法来处理这个问题?
提前致谢!
python - 为什么直接运行脚本不起作用但“python script_name.py”起作用
我写了一个脚本来从网站上抓取数据。当我使用“python script.py”运行它时它可以工作,但是当 chmod +x 并直接从 shell 运行时,它不能正常工作(不覆盖输出文件)
这是我的代码(尝试使用 HTMLParser):
这是我的外壳的结果
脚本仍然打印出最后一行完成!数据打印到文件 kq.txt但实际上并没有。如果我删除 kq.txt 文件,它运行良好。如果我在 kq.txt 中稍作更改(更改一个数字),它也能正常工作。
谁能解释为什么?谢谢
ruby - 何时/为什么将 --env-shebang 与红宝石宝石一起使用?
Ikenna Okpala 推荐了这个.gemrc
(我稍微修改了一下):
我之前没有注意到--env-shebang
。--env-shebang
我在http://guides.rubygems.org/command-reference/上查找了文档:
实际上,为什么这个--env-shebang
选项很重要?(我从未使用过它。)