Salve ragazzi, sto cercando di seguire i tutorial ma non riesco a venirne a capo.
ho un file txt con dentro server,nome e password e con il cat e il relativo while leggo i dati e fino qua tutto ok. Ma se provo a porre una condizione non funziona più. Dove sbaglio?

codice:
#!/bin/bash

cat /file.txt | while IFS=':' read h1 u1 p1 p2 do
do
mapsync --host1 "$h1" --user1 "$u1" --password1 "$p1" --host2 ks311479.kimsufi.com --user2 "$u1" --password2
if [-z $p2] then
$p1;
else
$p2;
fi
--authmech2 LOGIN --authmech1 LOGIN
done
Una volta mi da errore su done una volta su if una volta su else