Замена для источника в sh

Я должен установить переменные среды, обычно мы делаем это

source script.sh

Но теперь, я автоматизирую его во время процесса начальной загрузки, и это похоже на корневые начальные загрузки по умолчанию с sh оболочка. Как я получаю этот сценарий в sh?

60
задан 30 July 2014 в 14:52

1 ответ

tl; доктор С sh (в противоположность bash) аргумент должен содержать наклонную черту: source ./script.sh, не всего source script.sh. Если script.sh не может быть найден в PATH.

команда Dot (.) существует и в bash и в sh. Кроме того, bash псевдонимы это как [1 112]. От [1 113] руководство:

https://источник www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html#index-source

source filename

синоним А для [1 114] (см. Оболочку Bourne Builtins).

https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#index-_ 002e

. (период)

. filename [arguments]

Read и выполняют команды от filename аргумент в текущем контексте оболочки. Если filename не содержит наклонную черту, PATH, переменная используется для нахождения имени файла. Когда Bash не находится в режиме POSIX, текущий каталог ищется, если filename не найден в [1 119].

От [1 124] POSIX:

, Если file не содержит a, оболочка должна использовать путь поиска, указанный [1 121] для нахождения каталога, содержащего файл. В отличие от нормального поиска команды, однако, файл, разыскиваемый точечной утилитой, не должен быть исполняемым файлом.

1
ответ дан 1 November 2019 в 10:42

Другие вопросы по тегам:

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