前段时间 要做一个脚本,实现ftp自动下载,对方的url地址和给我的ftp账号、密码会随后变化,所以都设置在配置文件中。
在shell脚本中读取配置文件使用 cat ,grep,awk和sed
比如在 eaxmple.ini中有
ftp_url = 127.0.0.1:223
ftp_user = admin
ftp_password = ftp~!@#$%
则在shell脚本中读取配置
FTP_URL = cat eaxmple.ini | grep ftp_url | awk -F'=' '{ print $2 }' | sed s/[[:space:]]//g
FTP_USER = cat eaxmple.ini | grep ftp_user | awk -F'=' '{ print $2 }' | sed s/[[:space:]]//g
FTP_PASSWORD = cat eaxmple.ini | grep ftp_password | awk -F'=' '{ print $2 }' | sed s/[[:space:]]//g
此处必须使用sed s/[[:space:]]//g 去除 多余的空格符
之前没有使用sed 在自动登录ftp时,会出现总是连不上的问题。
另外附上 ftp下载文件代码 函数
l_user=$1
l_pass=$2
l_host=$3
l_file=$4
lftp << EOF
open ftp://$l_user:$l_pass@$l_host
get $l_file
EOF
}
注意:shell脚本和配置文件下载到本地之后可能会有格式问题,所以要首先执行格式命令去除 乱码影响
dos2unix filename