O primeiro conjunto de aspas é comido pela linha de comando para su
, e o segundo conjunto pela linha de comando para ssh
, de modo que a cotação { print $1}
seja realmente vista como três argumentos separados por awk
. Escape as aspas ( e $
e qualquer outro caractere especial que você possa usar):
su - admin -c "ssh $i awk -F: \'{ print \}\' /etc/passwd"
Ou:
su - admin -c "ssh $i getent passwd" | awk -F: '{print $1}'