Сохранить исходный файл после выполнения скрипта

Было бы достаточно создать файл сценария, содержащий такие функции вашего фреймворка, как этот:

/tmp/framework.sh

# Define a serie of functions of your framework...
function framework_function_1() {
    echo "function 1 executed"
}

function framework_function_2() {
    echo "function 2 executed"  
}

# And put here anything you want to be executed right away (like the trap)
echo "framework.sh was executed"

Затем включите его в остальные скрипты, как здесь:

/tmp/b.sh

# Include the framework:
.  /tmp/framework.sh

echo "Script b.sh was executed"
# Calling a framework's function
framework_function_2

При этом выполнение b.sh (и любого другого скрипта, включая framework.sh ), будет похоже на:

$ /tmp/b.sh 
framework.sh was executed
Script b.sh was executed
function 2 executed

Обратите внимание, что . /tmp/framework.shсовпадает с source /tmp/framework.sh.

2
03.01.2019, 10:09
1 ответ

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

Изменить install.shна:

export FOO=BAR

Тогда вместо ./install.shможно попробовать. install.sh

0
27.01.2020, 22:29

Теги

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