Правильно, что запись *
в столбце Gateway
означает, что пакет хранится в локальной сети.
В столбце Флаги
U
означает, что маршрут работает, в то время как G
означает, что маршрут идет к шлюзу.
Другие параметры, которые могут отображаться в столбце Флаги
:
U : This flag signifies that the route is up
G : This flag signifies that the route is to a gateway. If this flag is not present then we can say that the route is to a directly connected destination
H : This flag signifies that the route is to a host which means that the destination is a complete host address. If this flag is not present then it can be assumed that the route is to a network and destination would be a network address.
D : This flag signifies that this route is created by a redirect.
M : This flag signifies that this route is modified by a redirect.
Источник: http://www.thegeekstuff.com/2012/05/route-flags/
-121--289254-
Необходимо завершить каждую , если
, инструкцию fi
в sh. Таким образом,
#!/bin/sh
BANANA=1
if [ $BANANA -eq 1 ]; then
echo "Banana was 1"
else
echo "Oops"
fi
echo "This line will always be run"
для каждого в программе требуется
fi , если
, и местоположение fi
определяет, где заканчивается исполняемый код.
-121--166244-
Вот исправленная версия раздела if/then/elif/fi вашего сценария:
if [ "$ANSWER" == "S" ]
then
ANSWER='set grid'
else
ANSWER=""
fi
echo "you want the plot with boxes, with lines, or with points?"
read HOW
if [ "$HOW" == "boxes" ]
then
P=boxes
elif [ "$HOW" == "lines" ]
then
P=lines
elif [ "$HOW" == "points" ]
then
P=points
fi
Обратите внимание на отсутствие места после =
при установке ANSWER
и P
, а также на использование elif
, а не , если
. Я также добавил космоса между [
и тестируемыми переменными [поля
или [S
не совпадает с [поля
или [S
. Первый пытается выполнить, например, команду [поля
, в то время как второй выполняет [
с аргументом поля
.
Я также поместил кавычки в ANSWER = 'набор grid'
, без них он установит ANSWER = set
, а затем попытаюсь выполнить команду grid
. Технически в строках P =
также должны быть кавычки, но только с одним словом (без мест) после =
они не нужны.
Лично я бы поставил затем
на те же строки, что и если
и elif
, потому что я думаю, что это делает его гораздо более читаемым, но это не имеет значения - это просто предпочтение стиля, код работает так же, как и путь.
if [ "$HOW" == "boxes" ] ; then
P=boxes
elif [ "$HOW" == "lines" ] ; then
P=lines
elif [ "$HOW" == "points" ] ; then
P=points
fi
Переустановите libqt5opengl5 , libqt5core5a и libdouble -convert1 . Это удалит виртуальный бокс -qt , который также необходимо переустановить. Во всех поддерживаемых в настоящее время версиях Ubuntu откройте терминал и введите:
sudo apt remove libqt5opengl5 libqt5core5a libdouble-conversion1
sudo apt install libqt5opengl5 libqt5core5a libdouble-conversion1 virtualbox-qt
libQt5OpenGL.so.5 Запустите ldd /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
, чтобы увидеть, есть ли другие отсутствующие зависимости. Если они есть, попробуйте найти соответствующие имена пакетов с помощью dpkg -S <file-name(s)>
и переустановите их.
НЕ УСТАНАВЛИВАЙТЕ С ПОМОЩЬЮ APT INSTALL
VIRTUALBOX!
Я решил эту проблему за несколько недель до этого. Если вы установили Virtualbox
с помощью apt install
и столкнулись с той же проблемой, удалите Virtualbox
. Я предполагаю, что apt install virtualbox
имеет некоторые проблемы с зависимостями. После этого загрузите и установите файл .deb
по адресу здесь .