C-shell脚本:磁盘检查

时间:2015-11-09 07:10:46

标签: shell unix csh

我是shell脚本的新手。我已经完成了制作C-shell脚本的任务。我分别有IP地址和设备名称列表。例如;

cal 1 : 100.21.25.10
cal 2 : 100.21.25.11
cal 3 : 100.21.25.12
cal 4 : 100.21.25.14
and so on..

现在,我有这个。

#! /bin/csh -f

set device = (cal1 cal2 cal3)
set ipaddress = (100.21.25.10 100.21.25.11 100.21.25.12)
set highspace=60

foreach data($ipaddress)

set rspace = `rsh $data df -k | grep /dev/dsk/c0t0d0s0 | awk '{print $5}'| cut -c1-2`

if (${rspace} >= ${highspace}) then
echo "Please Housekeep $device "
endif

end

输出:

100.21.25.10
61
Please Housekeep cal1 cal2 cal3

为什么它只迭代一次?如何将IP地址链接到设备名称?

感谢

1 个答案:

答案 0 :(得分:0)

我运行它,它正确迭代,遍历列表中的每个IP。

我的猜测是你只看到一行输出,因为其他IP的 <div class="editor-label left_align"> @Html.HiddenFor(model => model.Id) @Html.LabelFor(model => model.EmployeeId, "Name") </div> <div class="editor-field left_right_padding"> @Html.DropDownListFor(m => m.EmployeeId, (SelectList)ViewBag.EmployeeName, "--Select Name--") @Html.ValidationMessageFor(model => model.EmployeeId) </div> <div class="editor-label left_align"> @Html.LabelFor(model => model.LineManagerId, "Line Manager") </div> <div class="editor-field left_right_padding"> @Html.DropDownListFor(m => m.LineManagerId, (SelectList)ViewBag.LineManagerName, "--Select Name--") @Html.ValidationMessageFor(model => model.LineManagerId) </div> 小于60,所以rspace子句的计算结果为false,而if()是不叫。

要从IP获取主机名,您可以:

echo

此外,社会大多数人已放弃dig +short -x 173.194.33.71 https://www.google.com/search?q=csh+don%27t+use

这将是一个更好的csh脚本:

csh