首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将值存储到变量中

问如何将值存储到变量中
EN

Stack Overflow用户
提问于 2021-09-26 08:29:48
回答 1查看 44关注 0票数 0

我正在尝试通过lftp获取ftp服务器的已用存储空间。

代码语言:javascript
复制
lftp :~> open username:password@IP
lftp username@IP:~> du
897146  ./volume(sda1)
897146  .

我想从sh脚本中获取897146的值。

这就是我到目前为止得到的:

代码语言:javascript
复制
#!/bin/bash

FTP_PASS=password
FTP_HOST=IP
FTP_USER=username
LFTP=lftp


lftp  << EOF
open ${FTP_USER}:${FTP_PASS}@${FTP_HOST}
FOO="$(du)"
quit
EOF
echo "$FOO"

但我得到了

代码语言:javascript
复制
Unknown command `FOO=9544       ./logs'.
Unknown command `9636'.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-26 08:44:24

FTP会话中的du命令将在lftp命令输出中输出。因此,要获得du命令的输出,您需要在变量中捕获lftp命令的输出:

代码语言:javascript
复制
#!/usr/bin/env bash
FTP_PASS=password
FTP_HOST=IP
FTP_USER=username


FOO=$(lftp  << EOF | filter_out_things_unrelated_to_du
open ${FTP_USER}:${FTP_PASS}@${FTP_HOST}
du
quit
EOF
)
echo "$FOO"

您可能需要从远程FTP服务器过滤出FTP会话头和MOTD,以及与du输出无关的任何内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69333099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档