gpt4 book ai didi

unix - 在 Unix 中通过 FTP 从远程服务器获取最新文件

转载 作者:行者123 更新时间:2023-12-03 05:14:12 28 4
gpt4 key购买 nike

我需要从 Unix 中的远程主机获取文件。我正在使用 ftp 命令。问题是我需要该位置的最新文件。我就是这样做的:

dir=/home/user/nyfolders
latest_file=$(ls *abc.123.* | tail -1)
ftp -nv <<EOF
open $hostname
user $username $password
binary
cd $dir
get $latest_file
bye
EOF

但我收到此错误:

(remote-file) usage: get remote-file [ local-file ]

我认为我尝试从 ftp 命令中获取文件的方式不正确,有人可以帮助我吗?

最佳答案

您不能在 ftp 命令脚本中使用 shell 功能,例如别名、管道、变量等。

ftp 不支持使用任何语法的此类高级功能。

不过,您可以分两步完成(在步骤之间利用 shell 功能)。

首先将远程目录列表获取到本地文件(/tmp/listing.txt):

ftp -nv <<EOF
open $hostname
user $username $password
cd $dir
nlist *abc.123.* /tmp/listing.txt
bye
EOF

查找最新文件:

latest_file=`tail -1 /tmp/listing.txt`

并下载:

ftp -nv <<EOF
open $hostname
user $username $password
binary
cd $dir
get $latest_file
bye
EOF

关于unix - 在 Unix 中通过 FTP 从远程服务器获取最新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28835893/

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