【发布时间】:2022-01-05 05:43:12
【问题描述】:
您好,我目前正在尝试使用 bash 命令自动将文件传输到远程服务器,但我希望能够在尝试发送多个文件之前知道该服务器上剩余多少空间。
例如,如果服务器剩余 5GB,我想发送 4.5GB。这是我想出的代码(形成多个其他类型的问题),但我不能使用这些数据来自动化流程
spaceLeft=`ssh -i /cygdrive/C/cygwin64/home/turco/IDs/fileTransfer -p 2222 root@localhost " df -h /var/mobile"`
echo $spaceLeft
IFS=' ' read -r -a array <<< "$spaceLeft"
for index in "${!array[@]}"
do
echo "$index ${array[index]}"
done
当我回显 spaceleft 时出现
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s1s2 60Gi 45Gi 6.9Gi 87% 318900 624035540 0% /private/var
当我回显数组中的所有项目时,会出现这种情况
0 Filesystem
1 Size
2 Used
3 Avail
4 Capacity
5 iused
6 ifree
7 %iused
8 Mounted
9 on
我只想知道剩下的 6.9Gi 空间,但我找不到办法得到它
【问题讨论】:
-
您使用哪个操作系统和
df的版本? -
有问题的服务器是我在 IOS 14.3 上越狱的 iPhone,并且正在使用 OpenSSH 调整作为 df 版本......我不能说。在我的电脑上,我使用的是 cygwin
-
出于好奇,如果服务器还剩 5TB、5MB 或 5kB,那么您应该发送多少?
-
如果传输后剩余空间超过 500MB,我想发送文件。我稍后会编码
-
所以您需要
PiB、TiB、MiB等...的翻译?
标签: bash ssh automation