У bash, при запуску з -x
опцією, чи можна звільнити окремі команди від лунання?
Я намагаюся зробити висновок максимально акуратним, тому я запускаю певні частини мого сценарію в нижній частині set +x
. Однак сам рядок set +x
все ще перегукується і не додає жодної цінної інформації у результат.
Я пам’ятаю ще в погані старі .bat
часи, коли під час запуску echo on
окремі рядки можна було звільнити, починаючи їх з а @
. Чи є еквівалент у баші?
#!/bin/bash -x
function i_know_what_this_does() {
(
set +x
echo do stuff
)
}
echo the next-next line still echoes 'set +x', is that avoidable?
i_know_what_this_does
echo and we are back and echoing is back on
При виконанні вищезазначеного результатом є:
+ echo the next-next line still echoes 'set +x,' is that 'avoidable?'
the next-next line still echoes set +x, is that avoidable?
+ i_know_what_this_does
+ set +x
do stuff
+ echo and we are back and echoing is back on
and we are back and echoing is back on