Будем благодарны за любые альтернативные предложения о том, как добавить пробный запуск.
Я пытаюсь создать функцию, которая работает в режиме «всухую» или в режиме реального времени.
например (псевдокод):
function do-stuff() {
dry_run_or_real
brew install java
for x in dir ; do echo $x ; done
}
function dry_run_or_real() {
if [ ! -z "$GLOBAL_DRY_RUN" ] ; then
echo "We would do this:$*"
else
# we are actually running the code
$*
fi
}
Если установлен GLOBAL_DRY_RUN, это текст:
We would do this:
brew install java
for x in dir ; do echo $x ; done
НО вышеуказанные команды не будут выполнены.
Большим ограничением является то, что тело do-stuff должно иметь только минимальные изменения для поддержки кода пробного запуска:
у нас будет много, много вспомогательных функций
Функции будут добавлены и отредактированы неопытными разработчиками, поэтому, возможно, что-нибудь сложное будет сломано.
do-stuff
понадобится что-то вродеif(dry_run_or_real()){return;}
просто "прервать" выполнение. Вы не можете реально влиять на внешний слой вложения. Таким образом, вы не сможете «фактически запустить код» в своей тестовой функции.