Com os backticks em torno dos comandos, você está tentando executar a saída de:
echo "flush_all" | /usr/bin/nc 172.16.198.130 11211
No seu caso "OK"
como já mencionado nos comentários, basta remover os backticks.
Se eu for a um prompt do bash e executar o seguinte comando (para liberar o memcached):
echo "flush_all" | /usr/bin/nc 172.16.198.130 11211
funciona e retorna "OK".
Se eu colocar o mesmo comando em um script bash de uma linha:
#!/bin/sh
'echo "flush_all" | /usr/bin/nc 172.16.198.130 11211'
Eu recebo a seguinte saída:
: command not found OK
Está tentando processar "OK" como um segundo comando? Como posso evitar isso (curto de redirecionar para / dev / null)?
Isto: #! / bin / sh 'eco bob' 'echo jim'
É idêntico a mim fazendo isso no terminal:
# bob
bob: command not found
# jim
jim: command not found
Remova os backticks.
Tags bash