在Bash中将df -h的输出转换为数组

Joa*_*eie 3 bash shell

我正在尝试做一个非常基本的事情,虽然我应该能够自己管理所有事情但是唉......

我试图做的是获取"df -h"返回的值,并能够将这些值存储在bash脚本数组中.目的是将其与其他数据(如当前时间戳)组合,并将其输出到新文件/覆盖现有文件.

以下两个命令在命令行上给了我想要的东西,但我不能在生命中将输出加载到我可以迭代的数组中.

以下内容为我提供了每个磁盘的磁盘利用率百分比:

df -h | grep -vE "^Filesystem|shm|boot" |  awk '{ print +$5 }'
Run Code Online (Sandbox Code Playgroud)

以下是我的磁盘路径:

df -h | grep -vE "^Filesystem|shm|boot" |  awk '{ print $6 }'
Run Code Online (Sandbox Code Playgroud)

但是,我无法将其输出分配到我可以迭代的shell脚本中的变量中.

任何想法和帮助将非常感谢!!

Mic*_*bus 5

您可以将输出分配给这样的数组:

arr=(`df -h | grep -vE "^Filesystem|shm|boot" |  awk '{ print +$5 }'`)
Run Code Online (Sandbox Code Playgroud)

然后你可以迭代它,例如:

for var in "${arr[@]}"
do
    # things
done
Run Code Online (Sandbox Code Playgroud)