Я должен установить переменные среды, обычно мы делаем это
source script.sh
Но теперь, я автоматизирую его во время процесса начальной загрузки, и это похоже на корневые начальные загрузки по умолчанию с sh
оболочка. Как я получаю этот сценарий в sh
?
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] для нахождения каталога, содержащего файл. В отличие от нормального поиска команды, однако, файл, разыскиваемый точечной утилитой, не должен быть исполняемым файлом.