gpt4 book ai didi

unix - ls 文件名在 lftp 中不起作用

转载 作者:行者123 更新时间:2023-12-02 03:58:27 26 4
gpt4 key购买 nike

我创建了一个lftp 脚本来将单个文件上传到网络托管提供商。

用例是我从存储库根调用它,因此相对路径在这里和远程服务器中是相同的。

#!/bin/bash

DIRNAME=$(dirname $1)
FILENAME=$(basename $1)
REPO_ROOT=$(pwd)
ABSOLUTE_PATH=${REPO_ROOT}/$1

lftp -u user,passwd -p port sftp://user@hosting <<EOF
cd $DIRNAME
put $ABSOLUTE_PATH
ls -l $FILENAME
quit 0
EOF

它可以工作,但有一个小但烦人的错误。为了检查它是否确实上传了文件,我在末尾添加了 ls -l 。它失败了,我不明白为什么:

ls: Access failed: No such file(functions.php)   

我尝试使用rels缓存刷新但没有成功。我使用的是lftp 4.0.9。

最佳答案

一些谷歌搜索最终给出了结果 mail-archive

It is a limitation of SFTP protocol implementation in lftp. It cannot list a single file, only a specific directory.

幸运的是,lftp 允许使用管道,所以

ls -l | grep  "$FILENAME"

解决了问题。

关于unix - ls 文件名在 lftp 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16185575/

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