shebang

/usr/bin/env perl 确实可以作为命令工作,但不能在 perl 脚本中使用

我有一个 perl 脚本,第一行如下: #!/usr/bin/env perl 我已经读到这是为了在环境中查找 perl 而执行的。但是现在,当我在命令行/usr/bin/env perl 上执行此操作时,perl 本身就会被执行(位于/usr/bin/perl)。但是当我使用./myscript.pl 启动脚本时,它显示以下错误: /usr/bin/env: No such file o... »

脚本找不到 Python3

我正在尝试学习一点 Python3,所以,首先要做的事情是:Hello World。但尽管很简单,但我在第 1 行(Shebang 参考)上度过了一段糟糕的时光。我在运行 Mac Os 10.15.3 的笔记本电脑上创建以下脚本 #!/usr/bin/env python3 print('Hello World') 我将它保存为python_test-01.py,使脚本可执行,然后尝试运行它... »

编写 Python 3 shebang 的可移植方式?

回到 Python3 的时候,我曾经使用: #!/usr/bin/env python3 但最近,特别是在 Ubuntu 22.04 或 macOS 上,python3 可执行文件并不总是在 PATH 中可用,相反,我应该使用 python 来调用 python3。 有什么可移植的方法来编写 Python3 shebang 吗? ... »

hashbang (#!) 在客户端有任何功能吗?

我最近了解了用于在 JavaScript 中编写 cmets 的 hashbang 语法,并且需要知道它是否或有可能与将 // 放在文件顶部有所不同。是否有任何与 hashbang 相关的约定? 我指的是仅在浏览器环境中使用,而不是在 shell 或 NodeJS 等中。 我问是因为我正在写有关 JavaScript 语法的文章,需要确保它 100% 正确。 ... »

bash 在运行作为参数传递的文件时忽略 shebang

在将文件作为参数传递时,如何让 bash 尊重 shebang? 例如: hello.py #!/usr/bin/env python print("Hello Python") 当传递给 bash: $ bash hello.py hello.py: line 2: syntax error near unexpected token `"Hello Python"' hello.py: li... »

如果解释器在#! 之后指定,会发生什么情况?不可用?

如果#! 之后指定的解释器不可用会怎样? 我知道在 shebang 之后我必须指定解释器(最佳做法是 /bin/bash)。新手不敢多尝试,怕损坏系统。 能否给我两个场景的截图示例: 解释器存在 解释器不可用 我只是想明白。 ... »

尼克斯壳#!引用父目录中的 shell.nix

我最近几乎所有的脚本都是从开始的 #!/usr/bin/env nix-shell #! nix-shell -i bash set -e 但这要求default.nix/shell.nix 与脚本位于同一目录中,但并非总是如此。有没有办法告诉nix-shell 查看*.nix 文件的所有父目录? ... »

是否可以构建一个适用于 Python 2 和 3 的 shebang?

我需要编写一个与 Python 2 和 Python 3 兼容的 Python 脚本,可以直接从 shell 调用(意味着它有一个 shebang),并且可以在安装了任何一个 Python 版本但可能没有的系统上运行两者都有。 通常我可以像这样为 Python 2 编写一个 shebang: #!/usr/bin/env python 对于 Python 3: #!/usr/bin/env py... »

如何确定哪个 shell 运行脚本?

我的 Linux 中有几个 shell,比如 bash、sh、zsh... 而且我知道至少有 3 种方法可以指定一个 shell 来执行我的 shell 脚本: 在shebang中指定,like#!/usr/bash 执行时在命令行中指定,如sh MyScripts.sh 在$SHELL(比如SHELL=zsh)中指定,然后像./MyScripts.sh一样执行脚本 那么,我最大的问题是... »

python文件中shebang的zsh错误解释器错误[关闭]

我有一个运行良好的 python 代码,我想让它运行起来更加用户友好,所以我将代码复制到一个名为 codee.command 的新文件中,在开头写了 #!/usr/local/bin/python3 并使用了 chmod 770 codee.command。 然后我尝试双击该文件,但它返回以下错误: /Users/serax/Desktop/Code/digits_exec.command ; e... »

哪些 Windows 版本包含 shebang 支持?

我正在使用pyenv-win,发现在我的Windows版本(20H2 19042.1165)中,where.exe支持带shebang的脚本: C:\> where python C:\Users\ded\.pyenv\pyenv-win\shims\python C:\Users\ded\.pyenv\pyenv-win\shims\python.bat 第一个python文件是: #!... »

如何在不同的python版本中运行代码

我有两个 python 脚本,其中一个在 python 3.8.6 64bit 上运行,另一个在 python 3.8.6 32bit 版本上运行。我一直在尝试使用 shebang 使用不同的 python 版本运行它们,但它似乎不起作用。 我目前正在使用 Visual Studio Code,即使我使用了这样的 shebang 代码 #!"C:/Python/3.8.6/64/python.ex... »

为什么“#!/usr/bin/env PATH=... python”会挂起,在调用 python 时如何指定 PATH?

(为了answer it提出问题,起初对此感到困惑。显然欢迎其他答案。) 使用#!/usr/bin/env python 是一个常见的技巧,它允许使用PATH 查找找到python 解释器,而不是硬编码python 的路径。调整它以将 PATH=... 参数添加到 env 可能会很方便,以便硬编码候选目录列表,而不是硬编码单个确切路径。 (这将利用env 在定位python 时使用指定的PATH ... »

识别函数内部属性的问题

#!/usr/bin/env python3 #!/config.py _UNIGENE_DIR = "/data/PROGRAMMING/assignment5" _UNIGENE_FILE_ENDING = "unigene" def get_unigene_directory (self,_UNIGENE_DIR) : """Returns the absolute... »

这个 Perl shebang 是如何工作的? (对于不是来自 Perl 的人)

有人能解释一下这个shebang是如何工作的吗? #!/usr/bin/perl -e$_=$ARGV[0];exec(s/\w+$/python3/r,$_) 我已经看到它在这里发布了两次,但不是来自 Perl,对我来说它看起来很神奇。 我问是因为我想将目录调整为相对于脚本的 python 环境。 即#!../env/bin/python3 到(我只是在这里猜测)#!/usr/bin/pe... »

virtualenv 的正确 shebang

我有项目 shell_script 和 virtualenv 的结构树是 shell_script/ENV/bin/python3 对于这个目录树来说,shebang 应该是什么样子? 这不行 #!/ENV/bin/env python3.6 ... »