shebang相关内容

为什么这个带有 shebang #!/bin/sh 和 exec python 的片段在 4 个单引号内起作用?

我试图理解这个问题的答案之一: 无法将参数传递给 python"#!/usr/bin/env python" #!/bin/sh''''exec python -u -- "$0" ${1+"$@"} # ''' 这很好用,但我不明白为什么它在该行的开头使用四个刻度而不是三个. 另外,为什么散列在字符串的末尾附近? 解决方案 Python 支持三引号字符串: '''某事' ..
发布时间:2022-01-21 21:52:42 Python

无法使用“#!/usr/bin/env python"将参数传递给 python

我需要有一个直接可执行的 python 脚本,所以我用 #!/usr/bin/env python 启动了这个文件.但是,我还需要无缓冲的输出,所以我尝试了 #!/usr/bin/env python -u,但是失败了 python -u: no such file or directory. 我发现 #/usr/bin/python -u 有效,但我需要它来获取 PATH 中的 pytho ..
发布时间:2022-01-21 21:39:57 Python

不同版本 Python 的条件 shebang 行

尝试在两台不同的计算机上运行 python 脚本时遇到问题.在每台计算机上,我想使用 python 版本 2.7.3 运行脚本,但是我遇到的问题是两台计算机以不同的方式命名 python 2.7.3.其中一台计算机运行arch linux,在这台计算机上它被命名为python2.另一台计算机正在运行redhat linux,它使用名称python2.7.3. 我应该在 shebang 行中使 ..
发布时间:2022-01-20 23:55:54 Python

env: python\r: 没有这样的文件或目录

我的 Python 脚本 beak 包含以下 shebang: #!/usr/bin/env python 当我运行脚本 $ ./beak 时,我得到了 env: python\r: 没有这样的文件或目录 我之前从存储库中提取了这个脚本.这可能是什么原因? 解决方案 脚本包含 CR 字符.shell 将这些 CR 字符解释为参数. 解决方案:使用以下脚本从脚本中删除 CR 字 ..
发布时间:2022-01-15 23:43:12 Python

node 和 shebang:帮助通过命令行执行

我的节点安装在: /usr/local/bin/node 并且我添加了shebang: #!/usr/local/bin/node 到文件顶部,并为我的节点应用程序文件授予权限 755,但是当我尝试运行时: >./我的应用程序 我老了: -bash: ./my-app: 没有那个文件或目录 我做错了什么? 解决方案 节点shebang是: ..
发布时间:2022-01-02 13:13:47 其他开发

Shebang 和 Groovy

是否可以在文件的开头声明它应该作为 Groovy 脚本执行? 其他脚本语言的示例: #!/bin/sh#!/usr/bin/python#!/usr/bin/perl 解决方案 这个#!/usr/bin/env groovy 将搜索你的路径寻找 groovy 来执行脚本 ..
发布时间:2021-12-23 16:43:57 其他开发

为什么shebang行总是第一行?

我有一个简单的 perl 脚本,如下所示: #!/usr/bin/perl使用严格;使用警告;打印“你好世界!\n"; 我可以如下执行这个脚本: >temp.pl你好世界!> 如果我添加一些这样的评论: #这个脚本只是为了测试#theshebang#!/usr/bin/perl使用严格;使用警告;打印“你好世界!\n"; 当我尝试执行时,它给了我如下输出: >临时文件使用:找不到命令 ..
发布时间:2021-12-10 18:43:06 服务器开发

我应该为 Perl 脚本的 shebang 行使用什么?

作为 Perl 脚本的 shebang 行使用这些中的哪一个更好或更快? #!perl#!执行程序#!完整路径/perl(/perl.exe)#!部分路径/perl(/perl.exe) 而且,当使用 #!perl 时,当它在特定系统上工作时,我如何在脚本中找出我正在使用的 perl 解释器,以便我可以将它放入 shebang线? 而且,如果使用 /path/path/perl,是否允许 ..
发布时间:2021-12-10 18:27:19 其他开发

#!舍邦工作?

在脚本中,您必须在第一行包含一个 #!,然后是将执行脚本的程序的路径(例如:sh、perl). 据我所知,# 字符表示注释的开始,并且该行应该被执行脚本的程序忽略.看起来,第一行在某个时候被某些东西读取,以便脚本由正确的程序执行. 有人可以更详细地了解 #! 的工作原理吗? 我真的对此很好奇,所以答案越深入越好. 解决方案 推荐阅读: UNIX 常见问题解答:为什么 ..
发布时间:2021-12-09 10:24:25 服务器开发

“#!/usr/bin/env bash"和“#!/usr/bin/env bash"有什么区别?和“#!/usr/bin/bash"?

在 Bash 脚本的标题中,这两个语句之间的区别是什么: #!/usr/bin/env bash #!/usr/bin/bash 当我查阅 env 手册页时,我得到这个定义: env - 在修改后的环境中运行程序 什么意思? 解决方案 通过 /usr/bin/env 运行命令的好处是可以查找程序的默认版本当前环境熨烫. 这样,您就不必在系统上的特定位置查找它, ..
发布时间:2021-12-09 10:22:46 服务器开发

如何通过shebang(即#!)使用awk的多个参数?

我想使用 --re 执行 gawk 脚本-interval 使用shebang. 的“幼稚"方法 #!/usr/bin/gawk --re-interval -f... awk 脚本在这里 不起作用,因为 gawk 是用第一个参数 "--re-interval -f" 调用的(没有围绕空格分割),它不理解.有解决方法吗? 当然,您可以不直接调用 gawk 而是将其包装到拆分第一个参数的 ..
发布时间:2021-12-09 09:53:05 服务器开发

为什么#!/usr/bin/env bash 优于#!/bin/bash?

我在很多地方都看到过,包括在这个网站上的推荐(首选的 Bash shebang 是什么?),优先使用 #!/usr/bin/env bash 而不是 #!/bin/bash.我什至看到一位有进取心的人 建议使用 #!/bin/bash错误,这样做会丢失 bash 功能. 综上所述,我在严格控制的测试环境中使用 bash,其中流通中的每个驱动器本质上都是单个主驱动器的克隆.我理解可移植性的论点 ..
发布时间:2021-12-05 23:20:07 其他开发

什么是首选的 Bash shebang?

是否有任何 Bash shebang 客观上比大多数用途更好? #!/usr/bin/env bash #!/bin/bash #!/bin/sh #!/bin/sh - 等 我依稀记得很久以前听说在末尾添加破折号可以防止有人向您的脚本传递命令,但找不到任何详细信息. 解决方案 你应该使用 #!/usr/bin/env bash for 可移植性:不同的*nixes p ..
发布时间:2021-12-05 22:32:13 其他开发

为什么需要将#!/bin/bash 放在脚本文件的开头?

我之前制作过 Bash 脚本,它们在没有 #!/bin/bash 开头. 把它放进去有什么意义?情况会有所不同吗? 另外,你如何发音#?我知道 ! 的发音是“bang". #! 如何发音? 解决方案 这是一个约定,所以 *nix shell 知道要运行什么样的解释器. 例如,旧版本的 ATT 默认使用 sh(Bourne shell),而旧版本的 BSD 默认使用 ..
发布时间:2021-12-03 13:31:10 服务器开发

Shebang Notation:Windows 和 Linux 上的 Python 脚本?

我有一些用 Python 编写的小型实用程序脚本,我希望它们可以在 Windows 和 Linux 上使用.我想避免显式调用 Python 解释器.有没有一种简单的方法可以将 shebang 符号指向 Windows 和 Linux 上的正确位置?如果没有,是否有另一种方法允许在 Windows 和 Linux 上隐式调用 Python 解释器,而无需在操作系统之间传输时修改脚本? 编辑:C ..
发布时间:2021-12-03 13:18:43 服务器开发

为什么这个带有 shebang #!/bin/sh 和 exec python 的片段在 4 个单引号内有效?

我试图理解这个问题的答案之一: 无法将参数传递给 python"#!/usr/bin/env python" #!/bin/sh''''exec python -u -- "$0" ${1+"$@"} # ''' 这很好用,但我不明白为什么它在该行的开头用四个刻度而不是三个刻度起作用. 另外,为什么在该字符串末尾附近有散列? 解决方案 Python 支持三重引号字符串: ..
发布时间:2021-11-17 05:06:49 Python

无法使用“#!/usr/bin/env python"将参数传递给 python;

我需要一个直接可执行的python脚本,所以我用#!/usr/bin/env python启动了这个文件.但是,我也需要无缓冲的输出,所以我尝试了 #!/usr/bin/env python -u,但是失败了 python -u: no such file or directory. 我发现 #/usr/bin/python -u 有效,但我需要它来获取 PATH 中的 python支持虚拟 ..
发布时间:2021-11-17 04:54:55 Python

在 bash 中,argparse(和已弃用的 optparse)如何响应 python 程序名称之后的“tab"按键?

我已经测试了 optcomplete 与 optparse 模块一起工作.它的例子是一个简单的文件,所以我可以让它工作.我还使用 argparse 模块对其进行了测试,因为不推荐使用前一个模块.但我真的不明白在按 Tab 键时 Python 程序是如何以及由谁调用的.我怀疑 bash 连同 shebang 行和 argparse(或 optparse)模块以某种方式参与.我一直在尝试解决这个问题( ..
发布时间:2021-11-17 04:26:56 Python

如何使用 Apache 2 在 Windows 上忽略 Perl shebang?

我已经在我的 Windows 机器上设置了本地 Perl Web 环境.我正在开发的应用程序最初来自 Linux 服务器,因此源 .pl 文件的 shebang 如下所示: #!/usr/bin/perl 这会导致我的 Windows 开发机器出现以下错误: (OS 2)系统找不到指定的文件. 是否可以更改我的 Apache 2 conf 以便在我的 Windows 机器上忽略 sheba ..
发布时间:2021-11-11 21:57:21 其他开发