【问题标题】:shell script with LFTP to get lasted file使用 LFTP 获取最新文件的 shell 脚本
【发布时间】:2013-01-02 19:23:40
【问题描述】:

我试图运行一个脚本来获取在我的 FTP 服务器中创建的最新文件。

file=`ls -t -r | tail -n 1`

sudo lftp <<FTP
open $hostname
user $username $password
cd $folder
get $file
bye
FTP

但是文件变量中的 ls 命令在我的本地机器上执行。怎么了?谢谢。

【问题讨论】:

  • 您是否将$file$arquivo 混淆了?
  • 是的,你是对的,ls 正在在你的本地机器上执行。您需要运行一个初步的 ftp,其中您发出的唯一命令是 cd ... AND ls 然后您需要捕获该输出(就像您对文件所做的那样),然后您需要解析该多行变量以找到最新文件并将其存储为file=。祝你好运。

标签: shell ftp lftp


【解决方案1】:

使用cls 代替ls 会有所帮助。将get $file更改为

cls -1t|sed -n 1s/^/get\\ /p>/tmp/get
source /tmp/get

注意,这使用文件/tmp/get,不适合并发操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 2020-04-17
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 2012-09-10
    相关资源
    最近更新 更多