MongoDB :Не удалось настроить прослушиватель :SocketException :Ошибка отказа в доступе

Сценарий оболочки должен быть исполняемым только в том случае, если он должен запускаться как

./scriptname

Если это исполняемый файл и если он имеет действительную строку #!-, указывающую на правильный интерпретатор, то этот интерпретатор (, например.bash)будет использоваться для запуска скрипта.

Если скрипт не исполняемый (, но все еще доступен для чтения ), то его все равно можно запустить с помощью явного интерпретатора из командной строки, как, например, в

bash./scriptname

(если это скрипт bash).Обратите внимание, что вам нужно знать, какой интерпретатор использовать здесь, так как сценарий zshможет выполняться некорректно при запуске с bash, а сценарий bashтакже может сломаться при выполнении сsh(точно так же, как сценарий Perl. не будет работать правильно, если будет выполняться Python или Ruby ).

Некоторые скрипты, такие как тот, который вы показываете, на самом деле не скрипты , а "точечные -скрипты". Они предназначены для источников , например

../scriptname

т.е. используется как аргумент утилиты dot(.)или (в bash),

source./scriptname

(они эквивалентны в bash, но утилита dot более портативна)

Это запустит команды в сценарии точка -в той же среде, что и вызывающая оболочка, что необходимо, например, для. установка переменных среды в текущей среде. (Сценарии, которые запускаются как обычно, запускаются в дочерней среде, копии родительской среды, и не могут устанавливать переменные среды или изменять текущий каталог своих родительских оболочек.)

Сценарий с точкой -читается (или "получается" )текущей оболочкой, поэтому он не обязательно должен быть исполняемым, только доступным для чтения.

Я могу сказать, что скрипт, содержимое которого вы показываете, является точечным -скриптом, так как он не имеет#!-строки (он не нужен )и поскольку он просто экспортирует кучу переменных.


Я полагаю, что термин "точечный -сценарий" я взял из руководства по ksh93оболочке. Я не могу найти для него более авторитетный источник, но звучит как хорошее слово для описания сценария, который должен быть получен с помощью команды ..

1
19.10.2021, 21:46
0 ответов

Теги

Похожие вопросы