#!/bin/bash
name=yang_123 #账号
password=yang123456 #密码
project_name=`find . -maxdepth 1 -type f -name "*.tar.gz" | sed 's/.\///g' | xargs ls -lt | awk '{print $NF}' | head -1`
echo ${project_name}
ftp -n <<EOF
open 1.2.3.4 #ftp服务器IP
user ${name} ${password} #输入用户名 密码
cd XXX #进入指定目录,如果需要创建新的目录可以使用mkdir创建
bin #以二进制方式上传
put ${project_name} #上传文件
bye #关闭ftp连接,有的地方使用bye,有的地方使用exit,注意区别
EOF
project_name=`find . -maxdepth 1 -type f -name "*.tar.gz" | sed 's/.\///g' | xargs ls -lt | awk '{print $NF}' | head -1`
find . -maxdepth 1 #从当前路径开始向下找,文件深度为一层文件夹,不会找到子子文件夹。
-type f 查找的是,文本类型
-name "*.tar.gz" 要找的文件名称是 *.tar.gz *为通配符,就是找以.tar.gz结尾的压缩包
sed 's/.\///g' 就是要把找到的文件,前面的路径全部去掉
xargs ls -ls 是把找到的文件按照时间列出来
awk '{print $NF}' 只要最后一列,前面的ls -lt 又会显示出权限,拥有者,组,大小,时间等信息,这些信息都不要,只要最后一列,文件名
head -1 只要第一个