【发布时间】:2011-08-13 08:10:31
【问题描述】:
我有一个 bash 脚本,它基本上应该像下面这样工作:
从用户那里获取内部版本号并将其放入 buildNum var
通过以 buildNum 为参数调用本地脚本,在本地机器上准备构建
将准备好的 zip 文件 sftp 到远程服务器 1
这样做:
ssh -v $server1 <<EOF
rm -rvf path1-on-remote-server1/*
cd path2-on-remote-server1
unzip ../prepped-zip-file-$buildNum.zip
exit
EOF
- 将准备好的 zip 文件 sftp 到远程 server2
我遇到的问题是,在第 4 步的第四步,远程服务器不知道 $buildNum 并且它失败了。
我尝试了以下两种解决方案,都失败了:
使用双引号
"unzip ../prepped-zip-file-$buildNum.zip"导致"unzip ../prepped-zip-file-11.6.zip: Command not found.尝试在 SSH 会话期间再次从用户那里获取内部版本号,甚至没有等待我的输入并在名称末尾查找没有内部版本号的 zip 文件,因为 var 再次失败是空的,
我做到了:
ssh -v $server1 <<EOF
rm -rvf path1-on-remote-server1/*
cd path2-on-remote-server1
echo "enter build num once more: "
read bNum
unzip ../prepped-zip-file-$bNum.zip
exit
EOF
关于如何实现我所追求的任何建议。
提前致谢
【问题讨论】:
-
您可能还想使用 sshfs:en.wikipedia.org/wiki/SSHFS