script bash que usa nc para relatórios telnet “: comando not found OK”

1

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)?

    
por Jeremy Mullin 13.02.2013 / 22:55

2 respostas

1

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.

    
por 13.02.2013 / 23:02
2

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.

    
por 13.02.2013 / 23:46

Tags