if [ $data == $dis ]
эта строка не дает ожидаемых результатов в скрипте
Пробовал на терминале, работает нормально.В сценарии ожидается «true», а затем вы хотите удалить эту строку из файла
root@M5-L-G01FQY9:/mnt/c/Users/Vinita.a.wadhwani/Downloads/Rough# d="<disabled></disabled>"
root@M5-L-G01FQY9:/mnt/c/Users/Vinita.a.wadhwani/Downloads/Rough# c="<disabled></disabled>"
root@M5-L-G01FQY9:/mnt/c/Users/Vinita.a.wadhwani/Downloads/Rough# if [ $d == $c ]
> then
> echo "true"
> fi
true
Код выглядит следующим образом:
dirmon=$1
action=$2
node=$(grep -l $dirmon *)
line=$(grep -n -m 1 $dirmon $node | sed 's/\([0-9]*\).*/\1/')
echo 'Performing' $action 'action on dirmon-'$dirmon 'which is present in node-'$node
no=$(($line+20))
data=$(sed -n "${no}p" $node) #gives results as <disabled></disabled>
echo $data
dis="<disabled></disabled>"
echo $dis
if [ $data == $dis ]
then
echo 'true'
fi
#echo 'false'
Ожидаемые результаты:
root@M5-L-G01FQY9:/mnt/c/Users/Vinita/Downloads/Rough# ./On* YELLOW start
Performing start action on dirmon-YELLOW which is present in node-NODE.txt
<disabled></disabled>
<disabled></disabled>
true
Фактические результаты
root@M5-L-G01FQY9:/mnt/c/Users/Vinita/Downloads/Rough# ./On* YELLOW start
Performing start action on dirmon-YELLOW which is present in node-NODE.txt
<disabled></disabled>
<disabled></disabled>