!/bin/bash
传递给脚本或函数的参数个数
当前脚本的文件名
if [ # -lt 2 ]; then echo "Usage:0 <file> <user@host:file>"
exit 1
fi
传递给脚本或函数的参数
src=1 echosrc
dest=2 echodest
basename 去掉文件名和目录命令
fname=basename $src
echo $fname
把文件传到跳板机
if [ -d 1 ];then scp -P 8989989 -rsrc sxx@0.0.0.0:/home/sxx/tmp/
echo "scp -r /home/sxx/tmp/fname huh@1.1.1.1:dest; rm -rf /home/sxx/tmp/*" > /Users/uoui/work/bin/cp_agent
elif [ -f 1 ];then scp -P 8989989src sxx@0.0.0.0:/home/sxx/tmp/
生成一个可以从跳板机拷贝文件到23.78,并从23.78拷贝到目标机的脚本
echo "scp /home/sxx/tmp/fname huh@1.1.1.1:dest; rm -rf /home/sxx/tmp/*" > /Users/uoui/work/bin/cp_agent
fi
将这个脚本拷贝到跳板机
scp -P 8989989 /Users/uoui/work/bin/cp_agent sxx@0.0.0.0:/home/sxx/tmp/
rm -f /Users/uoui/work/bin/cp_agent
在跳板机上执行拷贝脚本,结果是将源文件拷贝到目标机上
ssh -p 8989989 sxx@0.0.0.0 "sh /home/sxx/tmp/cp_agent; rm -rf /home/sxx/tmp/*"