linux - bash 和 Linux 内核中的 Shebang 行限制

标签 linux bash shebang

我正在尝试执行由 zc.buildout 自动生成的 python 脚本,因此我无法控制它们。我的问题是 shebang 行 (#!) 对于 bash(80 个字符限制)或直接执行(一些我不知道的 Linux 内核常量)来说太长。

这是一个示例脚本,可帮助您重现我的问题:

#!/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././bin/bash
echo Hola!

如何配置 bash 或内核以允许更大的 shebang 行?

最佳答案

由于内核编译时缓冲区限制,99.9% 的系统上的字符数限制为 127 个字符。

它在内核中受到 BINPRM_BUF_SIZE 的限制,在 include/linux/binfmts.h 中设置。

关于linux - bash 和 Linux 内核中的 Shebang 行限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31596765/

相关文章:

bash - 在单独的应用程序中执行时,NodeJS 脚本将不会启动

python - 关于 python "#!usr/bin/env python"?

c++ - 是否可以向特定 pthread ID 发送信号?

linux - 交叉编译器ldd

linux - libc_p.so 的源代码在哪里?

bash 中的 Python zip() 行为?

arrays - 传递给函数后在 bash 中获取数组长度时出错

php - 如何制作可执行的phar?

python - virtualenv 不干扰 #!/usr/bin/env python

linux - 如何记录在 Linux 中重新启动服务的用户详细信息