bash 프롬프트로 이동하여 다음 명령을 실행하면(memcached를 플러시하기 위해):
echo "flush_all" | /usr/bin/nc 172.16.198.130 11211
작동하고 "OK"를 반환합니다.
동일한 명령을 한 줄의 bash 스크립트에 넣으면 다음과 같습니다.
#!/bin/sh
`echo "flush_all" | /usr/bin/nc 172.16.198.130 11211`
다음과 같은 결과가 나타납니다.
: command not found OK
두 번째 명령으로 "OK"를 처리하려고 합니까? /dev/null로 리디렉션하는 것 외에 이를 방지하려면 어떻게 해야 합니까?
답변1
이: #!/bin/sh `echo bob` `echo jim`
터미널에서 이 작업을 수행한 것과 동일합니다.
# bob
bob: command not found
# jim
jim: command not found
백틱을 제거하세요.
답변2
명령 주위에 백틱을 사용하면 다음 출력을 수행하려고 합니다.
echo "flush_all" | /usr/bin/nc 172.16.198.130 11211
귀하의 경우에는 "ok"
주석에서 이미 언급한 대로 백틱을 제거하기만 하면 됩니다.