我正在尝试创建一个脚本,该脚本可以在我的磁盘阵列发生故障时执行某些操作。当我运行该命令时,它必须返回数字 4(grep
对“OK”一词进行了 4 次计数,每个磁盘一次)。
然后我想检查是否有 4 个或更少的 OK 并执行某些操作。
这是我的脚本:
#!/bin/bash
$okdevices = hpssacli controller slot=4 physicaldrive all show | grep -c "OK"
if [ $okdevices -lt 4 ]
then
echo "disk missing"
fi
这会返回一个错误,指出它需要一个一元运算符。
答案1
错误的命令输出分配给变量,您正在使用“4”评估字符串“hpssacli controller slot=4physicaldrive all show | grep -c OK”
这应该有效:
#!/bin/bash
okdevices="$(hpssacli controller slot=4 physicaldrive all show | grep -c OK)"
if [ $okdevices -lt 4 ]; then
echo "missing disk"
fi