shebang

为什么 node shebang 适用于 Angular CLI 但不适用于我的文件?
shebang

为什么 node shebang 适用于 Angular CLI 但不适用于我的文件?

互联网告诉我 Windows 不支持 shebang 行,但显然 Angular Cuses 可以实现它并且它能工作。在 Windows 上使用它并能工作的文件示例: https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/bin/ng 如果我打开 CMD,导航到包含该文件的目录并简单运行ng,Windows 将识别出它应该使用 node 运行并执行(我假设)node ng。但如果我用自己的文件尝试这样做,它不起作用。此类文件的示例: #!/usr/bin/en...

Admin

Linux:以 root 身份运行时,Shebang 解释器会抱怨编码
shebang

Linux:以 root 身份运行时,Shebang 解释器会抱怨编码

奇怪的现象:Python脚本以非特权用户身份运行,但拒绝以root用户身份运行: doprea@mlll2584:~$ python /opt/updatednsfix.py Please retry with super-user privileges $ sudo su # /opt/updatednsfix.py bash: /opt/updatednsfix.py: /usr/bin/python^M: bad interpreter: No such file or directory dos2unix已修复(以 root 身份运行,如下...

Admin

有关“#!”的信息(shebang、hashbang、crunchbang 等)
shebang

有关“#!”的信息(shebang、hashbang、crunchbang 等)

我对出现在每个 python 文件、大多数 bash 文件以及其他几个文件顶部的短语“#!”有疑问。 我已经在 Google 和本网站上搜索过该术语。Google 只是让我参考 bash 文档,而 Super User 则没有给我任何搜索结果。 因此,我的问题是: 除了显示要使用的主要解释器的顶行之外,在解释的可执行文件的任何部分中,短语“#!”还有什么用处吗? 如果是这样,它可以用来在同一个 shell 中切换解释器吗,或者它是否用于其他用途? 还有其他类型的命令可以像这个一样发送到解释 shell 吗? ...

Admin

我可以有一个有条件的事情吗?
shebang

我可以有一个有条件的事情吗?

我有一个可以用不同的解释器运行的脚本: #!/usr/bin/env default-interpreter [my script] alternative-interpreter但如果可用的话我想使用它,如下所示: #!/usr/bin/env alternative-interpreter [my script] 有没有办法创建一个 shebang,当第一个不可用时,它会寻找alternative-interpreter并返回?default-interpreter ...

Admin

如何在 bash 中恢复“.sh”关联?
shebang

如何在 bash 中恢复“.sh”关联?

由于某些未知原因,我有一台 Debian 7 VM,其中没有 shebang 行 (#!/bin/sh) 的 .sh 文件不再由 bash 关联/执行,即在 bash 下,使用“test.sh”可执行 shell 脚本 (chmod'ed +x) ./test.sh 却什么也不做 sh test.sh 将使用 bash 执行脚本。 当存在 shebang 行时,就会执行脚本。 现在,即使没有 shebang,其他(理论上相似的)Debian 7 VM 上具有相同访问权限的完全相同的脚本文件也将使用“./test.sh”执行。 知道是什么原因...

Admin

是否可以检测到 shebang 调用?
shebang

是否可以检测到 shebang 调用?

有没有办法让 bash 脚本检测它是否正在通过 shebang 运行#!/usr/bin/env? 一些神奇的 bash foo 可以让我写入: #!/bin/bash ... if [ __INVOKED_VIA_USR_BIN_ENV__ ]; then ... ...

Admin

Shebangs 不喜欢 OSX 中的 sudo
shebang

Shebangs 不喜欢 OSX 中的 sudo

在 shebang 中使用 sudo 似乎完全失效了。以下代码: #!/usr/bin/sudo /bin/bash echo "this should work" 在 Ubuntu 上运行良好,但在 OSX 上出现: sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges? 有什么想法可以让它工作吗? 注意:否则 sudo...

Admin

#!(shebang)行长度限制
shebang

#!(shebang)行长度限制

在开发 GNU Parallel 的过程中,我似乎遇到了 #! (shebang) 的长度限制。此 shebang-line: #!/bin/echo 123456789a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789i123456789j123456789k123456789done bar 在 Debian、Mandriva、SuSE、Ubuntu、Centos、RedHat 上打印此内容: 123456789a123456789b12...

Admin

脚本文件中的“#!”是什么?
shebang

脚本文件中的“#!”是什么?

$cat shebang.sed #! /bin/sed -f s/red/xxx/ s/BLUE/1234/ $./shebang.sed rgb lower (#1): "xxx green blue" UPPER (#2): "RED GREEN 1234" $sed -f shebang.sed rgb lower (#1): "xxx green blue" UPPER (#2): "RED GREEN 1234" 我可能猜到 #! 在做什么。但是,我并没有说我知道。什么是“#!”? ...

Admin

Ubuntu 执行文件时无需 ./
shebang

Ubuntu 执行文件时无需 ./

使用 shebang 行,我添加了使用 wish shell 启动 TCL 脚本的功能。但是,我只能通过./filename.tcl在终端中键入来快速启动文件。我想知道,有没有办法运行相同的脚本而不在./文件名前键入? ...

Admin

shebang 中的哪种路径更可取?
shebang

shebang 中的哪种路径更可取?

在脚本中,第一行应该指定解释器的路径。 但在不同的服务器(Linux、Unix 或 BSD)上,此路径可能不同。 有什么更好的选择? #!/usr/bin/env bash 或者 #!/bin/bash ...

Admin

Node 的 Shebang 行在 Ubuntu 18 中不起作用
shebang

Node 的 Shebang 行在 Ubuntu 18 中不起作用

我刚刚在 AWS 上创建了一个 Ubuntu 18.04 实例,并复制了一个现有项目。Node 的常用 shebang 行#!/usr/bin/env node现在不起作用。它给出了: #!/usr/bin/env: No such file or directory 可能出了什么问题? 我的$PATH变量是: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin which node给出:/usr/...

Admin

Geany 中的 Python 2 解释器取代了 3
shebang

Geany 中的 Python 2 解释器取代了 3

在我的 PC 上,安装了 Python 2 和 3 – 使用终端查询版本,输出以下内容: $ python2 --version Python 2.7.14 $ python3 --version Python 3.6.3 我想学习 Python 3,并且使用 Xubuntu 17.10 下的 Geany 作为我的开发环境。shebang 行内容如下: #!/usr/bin/env python3 我在我的小程序中查询了 Python 版本,输出告诉我使用了 Python 2 解释器: print(sys.version_info) sys...

Admin