728x90
반응형
요약
echo 명령어로 % 를 출력하려면 %% 를 두 번 써줍니다.
문제상황
아래와 같은 batch script를 스크립트로 작성해야하는 상황이 있다고 가정해 보시죠.
변수를 aiaa로 설정하고, 그 변수를 호출해서 메시지를 출력하는 간단한 스크립트 입니다.
이런 스크립트를 써주는 스크립트는 다음과 같이 생각할 수 있겠습니다.
필요한 명령어를 echo로 써서, out_script.bat이라는 파일에 써주면 될 거 같은데...
이 스크립트를 실행시키면, 아래와 %my_variable% 가 써지는게 아니라, aiaa로 셋업해 놓은 변수(사실 이것도 의도한 바가 아니긴 하죠)가 대신 들어가 있습니다.
%변수이름%는 선언된 변수를 호출하다보니, 실제 쓰고 싶은건 %my_variable%를 쓰고 싶었는데도 my_variable 변수에 할당된 aiaa가 들어가게 됩니다.
티나지 않는 버그일 수 있으니 주의가 필요한 부분이라고 생각합니다.
그렇다면 어떻게 글자 그대로 batch 스크립트에서 %를 써줄 수 있을까요?
해결방법
해결방법은 간단합니다.
%를 그대로 쓰기 위해서 %% (퍼센트 두 번)을 써주면, % 글자 그대로 인식하게 됩니다.
%변수이름% 문자 그대로를 echo를 통해 batch script로 쓰고 싶다면, %%변수이름%% 으로 사용하고,
%%% 문자 그대로를 쓰고 싶다면, %%%%%%로 사용하면 됩니다.
조금이나마 도움이 되었으면 좋겠습니다!
728x90
반응형