bash 스크립트에서 명령 대체를 사용하여 변수를 기반으로 리디렉션 기호를 출력하려고합니다.
IS_VERBOSE=false
curl $BLAH $( $IS_VERBOSE && echo '-i' || echo '> /dev/null' )
즉, 장황한 경우 -i
스위치를 추가하고 그렇지 않으면 stdout에서 모든 것을 버립니다. 문제는 IS_VERBOSE
false 일 때 내 명령이된다는 것입니다.
curl $BLAH \> /dev/null
보다 일반적으로, 명령 대체는 문자 > >> & | # $
및 가능하면 다른 문자를 이스케이프합니다 . 명령 대체를 사용하여 이스케이프하지 않고 어떻게 이러한 심볼을 출력 할 수 있습니까?
$(echo ">")
<tab> 이로 바뀝니다 \>
.
eval curl $BLAH $( $IS_VERBOSE && echo '-i' || echo '> /dev/null' )
$IS_VERBOSE
명령은? 당신은 그것을 하나로 취급하고 있습니다.