|
|
本帖最后由 ybbpgkfdn 于 2016-10-10 09:29 编辑
刚小弟看回复发现有大神,没看懂小弟的需求!那小弟就写的简单一点。
有两行英文其后面的Optimal是会变化的值。Optimal (代表正常)Uptimal(代表不正常)
我的需求是写一个批处理双击后会输出:[RAID卡一切正常] 或 [RAID10卡不正常],着样的文字提示。
RAID1_State : Optimal
RAID10_State : Optimal
我目前写到着里出来了很多问题:例如tokens=1,2 它取值是最后一行的两列!!!等等
@echo off & setlocal enabledelayedexpansion
d:
::type raid.txt | find "State" >A.txt
for /f "tokens=1,2 delims=: " %%i in (A.txt) do set num1=%%i&& set num2=%%j
if "%num2%"=="Optimal" (echo "健康的RAID10") else echo "不健康的RAID10"
echo "%num1%"
echo "%num2%"
pause
不知道大家用过shell没有如果用shell大概写法是着样的
#/bin/bash
RAID=`grep "Optimal|wc -l"`
RAID1=`cat a.txt|awk -F ": " 'NR==1{print $2}'`
RAID10=`cat a.txt|awk -F ": " 'NR==2{print $2}'`
if [ $RAID -eq 2 ]
then
echo "RAID卡一切正常"
else
if [ "$RAID1" == "Optimal" ]
then
echo "RAID10卡不正常"
else
echo "RAID1卡不正常"
fi
fi |
评分
-
查看全部评分
|