gpt4 book ai didi

bash - 在 bash 中通过 ftp 从列表上传文件

转载 作者:行者123 更新时间:2023-12-04 16:10:06 25 4
gpt4 key购买 nike

我有几个这样命名的文件:

TEST_YYYYMMDD.txt

我需要通过 ftp 上传它们,以便获取我运行的文件列表:

files=($(ls | grep -i -E 'TEST_[0-9]{8}.txt'))

既然我得到了文件列表,我如何通过ftpput它们?

function upload() {
list="$1"
length=${#list[*]}
for ((i=0;i<=$(($length - 1)); i++))
do
ftp -n host << EOF
quote USER user
quote PASS password
prompt
put ${list[$i]}
quit
EOF
done
}

这将为每个文件打开一个连接。
谁能给我一个更好的实现方案?

mput 不知道怎么用。 .TEST_* 因为通配符对我来说不安全。

谢谢


这是我如何解决的

function upload() { 
list="$1"
$user="username"
$password="password"
length=${#list[*]}
echo "open host user $user $password
binary
cd folder" > tmp/ftp.$$
for ((i=0;i<=$(($length- 1)); i++))
do
echo "put ${list[$i]}" >> tmp/ftp.$$
done
echo "quit" >> tmp/ftp.$$
ftp -ivn < tmp/ftp.$$
rm /tmp/ftp.$$
}

最佳答案

只循环put命令。

(
echo quote USER user
echo quote PASS password
echo prompt
for ((i=0;i<=$(($length - 1)); i++))
do
echo put ${list[$i]}
done
echo quit
) | ftp -n host

关于bash - 在 bash 中通过 ftp 从列表上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44019171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com