Przekazuję wycinek kodu
case $czynnosc in
"zapis+"|"z+"|"Z+") # wykonaj kopię dla dużych stron
poprzedni="$(ls -v | tail -1)"
# utworzenie katalogu
i=0
while [ -d "${strona}_${data}_$i" ]; do
((i++))
done
ostatni="${strona}_${data}_$i"
mkdir $ostatni
echo "Kopiowanie pliów z poprzednie katalogu"
rsync -azz $poprzedni/ $ostatni
echo "Usunięcie bazy"
sshpass -p $ssh_haslo ssh -p $ssh_port $ssh_nazwa_host "rm -f $ssh_sciezka/kopia_zapasowa_*.sql"
echo "Zrzut bazy"
sshpass -p $ssh_haslo ssh -p $ssh_port $ssh_nazwa_host "cd $ssh_sciezka && mysqldump --no-tablespaces -h$mysql_host -u$mysql_juzek -p$mysql_haslo $mysql_baza > $mysql_plik"
echo "Kopia →"
sshpass -p $ssh_haslo rsync -azz -e "ssh -p $ssh_port" $ssh_nazwa_host:$ssh_sciezka/ $ostatni
echo "Usunięcie bazy"
sshpass -p $ssh_haslo ssh -p $ssh_port $ssh_nazwa_host "rm -f $ssh_sciezka/kopia_zapasowa_*.sql"
if [ -e $ostatni/kopia_zapasowa_*.sql ]
then
echo "|" $ostatni "|" "OK"
fi
esac
Kiedy uruchamiam "zapis+" posiadam ./x.sh: linia 103: [: za dużo argumentów. Bo jeśli zmienię rsync -azz $poprzedni/ $ostatni na rsync -azz $poprzedni $ostatni to już nie błędu struktury (wiem że logicznie jest to zmiana). Co jest powodem?
Edit
Teraz mi się pojawia błąd
./x.sh: linia 103: [: q/t.txt: oczekiwano operatora dwuargumentowego