BASH脚本。如何编码if(array = nothing)然后在bash脚本中回显“数组中没有元素”

时间:2013-12-03 05:02:10

标签: arrays linux bash shell

在bash脚本中,我定义了一个数组:

array=$(awk '{print $4}' /var/log/httpd/sample | uniq -c | cut -d[ -f1)

现在,我想将此内容翻译为bash脚本中的代码:

“如果数组中没有任何元素,则表示array = nothing,然后echo”数组中没有任何内容“。

帮我做那个???非常感谢

*此外,我想每隔5分钟定期删除access_log的内容(/ var / log / httpd / access_log)。请告诉我怎么做?? *

1 个答案:

答案 0 :(得分:2)

话说:

array=$(awk '{print $4}' /var/log/httpd/sample | uniq -c | cut -d[ -f1)

未定义数组。这只是将命令的结果放入变量 array

如果你想定义一个数组,你会说:

array=( $(awk '{print $4}' /var/log/httpd/sample | uniq -c | cut -d[ -f1) )

您可以通过说echo "${#foo[@]}"来获取数组中元素的数量。

为了检查数组是否包含元素,您可以说:

(( "${#array[@]}" )) || echo "Nothing in array"