Я пытаюсь запустить этот простой скрипт, который успешно работает в CentOS, но не в Ubuntu. {{1} } Скрипт запускается успешно, но не может попасть в условие if и сразу переходит к else.
Есть ли синтаксическая ошибка в цикле if? Идея состоит в том, чтобы получить содержимое файла output2.txt в переменной с именем value (это команда в порядке?) И проверить if subtext 512.00GB включить в текст (в значение ) ...
sudo msecli -L > output2.txt
value=`cat output2.txt`
check="512.00GB"
#echo "$value"
if [[ "$value" == *"$check"* ]]; then
echo "The SSD is 512GB"
sudo msecli -L >> output.txt
sudo nvme delete-ns -n 1 /dev/nvme0
sudo nvme delete-ns -n 1 /dev/nvme1
sleep 1
sudo msecli -N -q 100 -n /dev/nvme0 -r
sleep 1
sudo msecli -N -q 100 -n /dev/nvme1 -r
sleep 2
sudo reboot
else
sudo msecli -L >> output.txt
echo "***** The SSD is READY!!! *****"
fi
Мы получаем ошибку в строке 5 [[, которая кажется, что команда if не работает.
Я использовал следующий пример, который я нашел в Интернете для поиска подтекста в тексте:
#example
#STR='GNU/Linux is an operating system'
#SUB='Linux'
#if [[ "$STR" == *"$SUB"* ]]; then
# echo "It's there."
#fi