bash에서 -x
옵션으로 실행할 때 개별 명령을 에코하지 않을 수 있습니까?
가능한 한 깔끔하게 출력하려고 노력하고 있으므로 스크립트의 특정 부분을 하위 쉘에서 실행하고 set +x
있습니다. 그러나 행 set +x
자체는 여전히 에코되며 출력에 중요한 정보를 추가하지 않습니다.
나는 과거로 나쁜 기억을 가지고 있습니다.로 .bat
실행 echo on
하면 개별 라인은로 시작하여 면제 될 수 있습니다 @
. bash에 동등한 것이 있습니까?
#!/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