Primeiro, você esqueceu o espaço e as citações. Em seguida, é um erro, então você deve pegar stderr. Finalmente localhosts é provavelmente $1 .
if [ "$(ping -c1 "$1" 2>&1)" = "ping: unknown host $1" ]
Note que a mensagem ping está provavelmente sujeita às suas configurações de localidade. Se você quiser apenas testar a resolução de nomes de um host, ping não é exatamente a ferramenta certa. Tente isso:
if getent hosts "$1" > /dev/null; then ...