我正在尝试做一个非常基本的事情,我虽然应该能够自己管理所有事情但是唉...
我正在尝试做的是获取“df -h”返回的值,并能够将这些值存储在bash脚本数组中。目的是将其与其他数据(如当前时间戳)组合,并将其输出到新文件/覆盖现有文件。
以下两个命令在命令行上给出了我想要的东西,但我不能在生命中将输出加载到我可以迭代的数组中。
以下内容为我提供了每个磁盘的磁盘利用率百分比:
df -h | grep -vE "^Filesystem|shm|boot" | awk '{ print +$5 }'
以下是我的磁盘路径:
df -h | grep -vE "^Filesystem|shm|boot" | awk '{ print $6 }'
但是,我无法将其输出分配到我可以迭代的shell脚本中的变量中。
非常感谢任何想法和帮助!!
答案 0 :(得分:5)
您可以将输出分配给这样的数组:
arr=(`df -h | grep -vE "^Filesystem|shm|boot" | awk '{ print +$5 }'`)
然后你可以迭代它,例如:
for var in "${arr[@]}"
do
# things
done
答案 1 :(得分:3)
你可以使用它。
#!/bin/bash
arr=(`df -h | grep -vE "^Filesystem|shm|boot" | awk '{ print +$5 }'`)
for v in "${arr[@]}"
do
echo $v
done
(注意仅适用于bash,而不适用于/ bin / sh)