Вы уверены, , что это не работает?
ssh -v $server1 <<EOF
rm -rvf path1-on-remote-server1/*
cd path2-on-remote-server1
unzip ../prepped-zip-file-$buildNum.zip
exit
EOF
Когда я пробую это на моей машине, с cat
вместо ssh -v $server1
для тестирования, переменная делаетподставить в здесь-документ, как если бы весь документ был в командной строке.Оболочке удаления никогда не нужно знать, что в начале была переменная.
На самом деле, вы можете задать удаленную команду в командной строке ssh, а не перенаправлять стандартный ввод.Это было бы более надежно, если бы некоторые его части неожиданно решили попробовать прочитать из stdin:
ssh -v $server1 "rm -rvf path1-on-remote-server1/*
cd path2-on-remote-server1
unzip ../prepped-zip-file-$buildNum.zip"
(обратите внимание, что многострочные строки в двойных кавычках подходят для bash).