Я пытаюсь запустить этот простой сценарий, который успешно выполняется на CentOS, но не на Ubuntu. Сценарий запускается успешно, но не может попасть в условие if и сразу переместиться в другое.
Имеется ли синтаксическая ошибка с циклом if? Идея состоит в том, чтобы получить содержимое имени файла output2.txt в переменную с именем value (эта команда OK?) и проверить, включен ли подтекст 512 .00GB в текст (в value )...
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
-121--897693- Когда я установил 20.04, случайно я изменил функцию правой клавиши переключения при запросе. Теперь он больше не работает как клавиша смены. Как устранить эту ошибку? Спасибо Хьюберту.
Установите настройки ( gnome-tweaks
). На вкладке «Клавиатура и мышь» отметьте «Дополнительные параметры макета». В разделе «Переключение на другую раскладку» можно, среди прочего, назначить правую клавишу Shift . В отсутствие более конкретной информации это могло быть установлено в вашем случае. В этом случае снимите отметку слева от «Сдвиг вправо», чтобы вернуть эту клавишу в нормальное состояние.