在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)。请告诉我怎么做?? *
答案 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"