如何在 chrooted SSH Plesk 托管的网络空间环境中忽略 shebang“#!/usr/bin/env bash”
How to ignore shebang "#!/usr/bin/env bash" in a chrooted SSH Plesk hosted webspace environment
有没有办法通过“/bin/bash”全局忽略从脚本到 运行 脚本的 shebang?
我有一个 PLESK 托管的网站空间,SSH chroot 到我的网络主页。我尝试安装 hubzilla,但那里的大多数脚本 return 错误,因为它们使用了 shebang
"#!/usr/bin/env bash"
在我家,“/usr”只包含一个文件夹“/lib”,我没有(也不会被授予)创建匹配目录或符号链接的权限(bash 位于在“/bin”中并且是 ssh 的标准解释器)。添加
export PATH="$PATH:$HOME/bin"
到“.profile”也不能解决问题。
我可以将所有带有该 shebang 的脚本修改为“#!/bin/bash” - 但是我必须在每次更新后重新执行...? hubzilla 是否不适用于 PLESK 托管的网站空间?托管商建议使用虚拟服务器,但我想避免服务器管理。
更新:问题由 Barmar 解决!直接使用 bash 调用脚本即可。
手头用例的总体解决方案:Hubzilla 的脚本(add_addon_repo - 可能还有其他脚本)调用无法通过 SSH 获得的更多命令(下一个问题:git 无法通过命令访问线,只是面板)。所以我猜 hubzilla 使用的功能比(至少这个)网站空间提供的要多。所以我会重新激活我的虚拟主机。
运行 带有 bash
的脚本,而不是作为命令:
/bin/bash scriptname
有没有办法通过“/bin/bash”全局忽略从脚本到 运行 脚本的 shebang?
我有一个 PLESK 托管的网站空间,SSH chroot 到我的网络主页。我尝试安装 hubzilla,但那里的大多数脚本 return 错误,因为它们使用了 shebang
"#!/usr/bin/env bash"
在我家,“/usr”只包含一个文件夹“/lib”,我没有(也不会被授予)创建匹配目录或符号链接的权限(bash 位于在“/bin”中并且是 ssh 的标准解释器)。添加
export PATH="$PATH:$HOME/bin"
到“.profile”也不能解决问题。
我可以将所有带有该 shebang 的脚本修改为“#!/bin/bash” - 但是我必须在每次更新后重新执行...? hubzilla 是否不适用于 PLESK 托管的网站空间?托管商建议使用虚拟服务器,但我想避免服务器管理。
更新:问题由 Barmar 解决!直接使用 bash 调用脚本即可。
手头用例的总体解决方案:Hubzilla 的脚本(add_addon_repo - 可能还有其他脚本)调用无法通过 SSH 获得的更多命令(下一个问题:git 无法通过命令访问线,只是面板)。所以我猜 hubzilla 使用的功能比(至少这个)网站空间提供的要多。所以我会重新激活我的虚拟主机。
运行 带有 bash
的脚本,而不是作为命令:
/bin/bash scriptname