Как игнорировать shebang "#! / Usr / bin / env bash" в chrooted среде веб-пространства S SH Plesk - PullRequest
0 голосов
/ 14 июля 2020

Есть ли способ игнорировать shebang из скрипта для глобального запуска скриптов через «/ bin / bash»?

У меня есть веб-пространство, размещенное в PLESK, с привязкой к S SH Интернет-дом. Я пытался установить hubzilla, но большинство скриптов там возвращают ошибки, потому что они используют shebang

"#!/usr/bin/env bash"

В моем доме «/ usr» содержит только папку «/ lib», а у меня нет ( и не будут предоставлены) права на создание соответствующего каталога или символической ссылки (bash находится в «/ bin» и является стандартным интерпретатором для s sh). Добавление

export PATH="$PATH:$HOME/bin"

в ".profile" тоже не решает проблему.

Я мог бы изменить все сценарии с этим шебангом на "#! / Bin / bash" - Но тогда мне придется делать это заново после каждого обновления ...? Hubzilla - это просто не для веб-пространств, размещенных в PLESK? Хостер предлагает вместо этого vserver, но я хочу избежать администрирования сервера.

Обновление: проблема решена Barmar! Вызов сценария с использованием bash работает напрямую.

Общее решение для рассматриваемого варианта использования: сценарий Hubzilla (add_addon_repo - и, возможно, другие) вызывает дополнительные команды, которые недоступны через S SH (следующая проблема: git недоступен через командную строку, только панель). Так что я полагаю, что hubzilla использует больше функций, чем предлагает (по крайней мере, это) веб-пространство. Поэтому я повторно активирую свой виртуальный хост.

1 Ответ

1 голос
/ 14 июля 2020

Запустить сценарий с bash явно, а не как команду:

/bin/bash scriptname
...