Я ищу элегантный способ реализовать пробный запуск в одном из моих скриптов bash.
Я нашел несколько способов сделать это, но ни один из них не соответствует моим потребностям.
Одна из них заключается в написании пробной функции, как предложено здесь: https://gist.github.com/pablochacin/32442fbbdb99165d6f7c
Но некоторые команды, которые я хочу выполнить, включают в себя каналы, и этот метод не совместим с каналами.
Например, я хочу выполнить это в пробном режиме:
tar cf - drytestfile | 7z a -m0=lzma2 -mx=9 -mmt=$nbCores -si drytestfile.tar.7z | tee -a /tmp/testlog
Используя вышеописанный метод, я получу это в своем скрипте, где $ DRYRUN содержит имя функции, выполняющей эхо всех параметров:
$DRYRUN tar cf - drytestfile | 7z a -m0=lzma2 -mx=9 -mmt=$nbCores -si drytestfile.tar.7z | tee -a /tmp/testlog
Это, конечно, запустит функцию в первой части команды (имеется в виду tar) и передаст 7z результат этой функции.
Не совсем то, что я ищу.
Может быть, вместо этого есть какая-то связь с командой eval, но я все еще не могу понять, как это реализовать ...
Есть идеи?