리눅스에서
b=5; a="`echo $b`"; echo $a 엔터를 치면
이렇게 하면 5가 출력 됩니다.
기본적으로 리눅스는 backquote(`)는 실행문자입니다.
여기서 실행해서 5가 출력되지 않고
그냥 그대로 `echo 5` 가 출력되도록 하는 방법은 있나요?
즉 php 처럼 addslashes 처리를 해주는 방법이 있는지 묻는 것입니다.
문자열 속에 실행 backquote가 들어가 있을 경우 그것을 php 처럼 addslashes 처리를 해주는 방법을 찾는 것입니다.ㅎㅎㅎ
다시 정리하면 질문요지는
ackquote(`) 으로 감싸면 실행이라는 것이 되어버립니다.
실행되지 않게 하려면 escalpe 처리해야 합니다.
결국 그렇게 하려면
echo "\`echo 5\`" 이렇게 해야 합니다.
그런데..
실제 변수 속에 들어가 있는 ackquote(`)는 실행문자를 escape 시켜서 그냥 단순히 출력하게 할 수 없을까 하는 질문이었습니다.
그래서 php 처럼 addslahes 명령을 주면 해결되지만
리눅스는 그런 명령이 안 보이더군요.
하도 해괴한 질문이라서...
많이 혼돈이 있습니다
(질문을 수정하였습니다.)
예전에 나를 도와준 마틴님이란 분이 있어 그분을 기억합니다.
2cpu의 도움주신 많은 분들께 늘 감사드립니다.
☎ HP 010-9678-7900
2cpu의 도움주신 많은 분들께 늘 감사드립니다.
☎ HP 010-9678-7900
b=5;a="\`echo $b\`";echo $a
escape½ÃÅ°¸é µÇ´Âµ¥...
b=5; a="this is `echo abced`, diffcult! "; echo $a ¶ó°í µÇ¾î ÀÖ´Ù¸é...
º¯¼ö ¼Ó¿¡ ±×°ÍÀÌ ÀÖÀ» °æ¿ì´Â ±× º¯¼ö ¼ÓÀÇ °ÍÀ» ¾î¶»°Ô escape½ÃÄѾßÇÒÁö...
ÀÌ·² °æ¿ì php´Â ¾ÆÁÖ ½±°Ô 󸮰¡ °¡´ÉÇѵ¥...
¸®´ª½º ½ºÅ©¸³Æ®´Â »ý°¢ÀÌ ¾È³³´Ï´Ù.¤Ð¤Ð¤Ð¤Ð
#!/bin/bash
b=5
a="echo $b"
echo $a
embryo@www: /home/embryo $ ./aa.sh
echo 5
embryo@www: /home/embryo $
a="'echo $b'" °¡ a="echo $b" ·Î ¹Ù²î¾ú³×¿ä
È¥µ¿µÉ¸¸ Çϳ׿ä ÁÁÀº°Å ¹è¿ü½À´Ï´Ù
¸®´ª½º Ư¼ö¹®ÀÚ Áß¿¡
ackquote(`) ¶ó´Â °ÍÀÌ ÀÖ´Â °ÍÀº ´Ù ¾Æ½Ç °ÍÀÔ´Ï´Ù.
Áú¹®¿äÁö´Â
ackquote(`) À¸·Î °¨½Î¸é ½ÇÇàÀ̶ó´Â °ÍÀÌ µÇ¾î¹ö¸³´Ï´Ù.
½ÇÇàµÇÁö ¾Ê°Ô ÇÏ·Á¸é escalpe ó¸®ÇØ¾ß ÇÕ´Ï´Ù.
°á±¹ ±×·¸°Ô ÇÏ·Á¸é
echo "\`echo 5\`" ÀÌ·¸°Ô ÇØ¾ß ÇÕ´Ï´Ù.
±×·±µ¥..
½ÇÁ¦ º¯¼ö ¼Ó¿¡ µé¾î°¡ ÀÖ´Â ackquote(`)´Â ½ÇÇ๮ÀÚ¸¦ escape ½ÃÄѼ ±×³É ´Ü¼øÈ÷ Ãâ·ÂÇÏ°Ô ÇÒ ¼ö ¾øÀ»±î ÇÏ´Â Áú¹®À̾ú½À´Ï´Ù.
Çϵµ Çر«ÇÑ Áú¹®À̶ó¼...
¸¹ÀÌ È¥µ·ÀÌ ÀÖ½À´Ï´Ù.
ù¹ø° ´ñ±Û¿¡ ÀÖ´Â ¹®Àå ½ÇÇàÇØ º¸½Ã¸é `echo 5` ¶ó°í `¹®ÀÚ°¡ ±×´ë·Î ³ª¿Í¿ä.
½ÇÁ¦ º¯¼ö ¼Ó¿¡ µé¾î°¡ ÀÖ´Â ackquote(`)´Â ½ÇÇ๮ÀÚ¸¦ escape ½ÃÄѼ ±×³É ´Ü¼øÈ÷ Ãâ·ÂÇÏ°Ô ÇÒ ¼ö ¾øÀ»±î ÇÏ´Â Áú¹®À̾ú½À´Ï´Ù.
-> ¿ø·¡ ±×·¸°Ô µÇ¾î ÀÖ¾î¿ä. º¯¼ö ¾È¿¡ µé¾î ÀÖ´Â °Ç ±×´ë·Î ´Ü¼øÇÏ°Ô Ãâ·ÂµË´Ï´Ù.
¿ÀÈ÷·Á ±× ¿ª¿¡ ´ëÇؼ ã¾Æº¸¼Å¾ß ÇÒ °Í °°Àºµ¥¿ä, ¹®ÀÚ¿ ¾È¿¡ ` °¡ µé¾îÀִµ¥ ÀÌ°É Æò°¡ÇÏ°í ½ÍÀºµ¥ ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö...
´Ü¼øÇÏ°Ô »ý°¢ÇÏ¸é ¹®ÀÚ¿ À§Ä¡ ã´Â ±â´ÉÀ¸·Î ` ¾È¿¡ ÀÖ´Â ºÎºÐ ¹®ÀÚ¿À» ÃßÃâÇؼ ±× ºÎºÐÀ» ½ºÅ©¸³Æ®¿¡¼ ``À¸·Î ¹¿¡¼ °á°ú¸¦ ¾òÀ¸¸é µÇ°ÚÁÒ.
´õ ÀÌ»ó ´äº¯ ¾ÈÇØÁּŵµ µË´Ï´Ù.
¤¾¤¾
³ª¸§´ë·Î ´ëÃæ ...Çß½À´Ï´Ù.
¾ÆÁÖ Æ¯ÀÌÇÑ °ÍÀ̶ó¼... ¾î·Æ½À´Ï´Ù.
³»ºÎ¿¡ ÀÌ¹Ì single-quot°¡ ÀÖ¾î¼ ºÒ°¡´ÉÇß½À´Ï´Ù.¤¾¤¾¤¾