下面是一个使用Bash脚本循环遍历远程目录,并逐个将文件传输给CURL的示例代码:
#!/bin/bash
REMOTE_DIR="远程目录的路径"
REMOTE_HOST="远程主机的主机名或IP地址"
CURL_OPTIONS="-X POST -H 'Content-Type: application/json'"
# 迭代远程目录
for file in $(ssh $REMOTE_HOST "ls $REMOTE_DIR"); do
# 构建远程文件的完整路径
remote_file="$REMOTE_DIR/$file"
# 使用CURL传输文件
curl $CURL_OPTIONS -F "file=@$remote_file" http://example.com/upload
done
在上面的代码中,你需要将“远程目录的路径”替换为实际的远程目录路径,将“远程主机的主机名或IP地址”替换为实际的远程主机的主机名或IP地址。然后,你可以使用ssh
命令连接到远程主机,并使用ls
命令获取远程目录中的文件列表。
在每次迭代循环中,我们构建远程文件的完整路径,并使用CURL命令将文件传输给远程服务器。你可以根据需要修改CURL选项。在上面的示例中,我们使用了-X POST
选项发送POST请求,并使用-H 'Content-Type: application/json'
选项设置请求的Content-Type为JSON。你可以根据实际需求调整这些选项。
最后,我们将CURL命令发送到http://example.com/upload
,你需要将此URL替换为实际的接收文件的URL。
请注意,上面的示例假设你已经设置了SSH密钥对,以便在不需要密码的情况下通过SSH连接到远程主机。如果你还没有设置SSH密钥对,请先设置它们。
下一篇:Bash脚本循环不递增