X11 и настольные среды играют различные роли.
X11 является протоколом сервера дисплея. Наиболее распространенным сервером дисплея, реализовывая этот протокол является X.org. Это сочетает следующие основные функции от более низкого уровня вверх:
X11 не имеет никакой жизнеспособной альтернативы (хотя Уэйленд может получить там одно из этих десятилетий). Это - часть каждого уровня GUI системы Unix.
Вдобавок к X11 Вам нужен менеджер окон. Менеджер окон обрабатывает вещи как художественные оформления на окнах (границы, строки заголовка, и т.д.), манипуляции окном (движущиеся и изменяющие размер окна, значки, и т.д.), стратегии фокуса (например, фокусировка окна при нажатии на него) и т.д. X11 содержит встроенный менеджер окон, но это чрезвычайно сыро.
Некоторые, но не все, менеджеры окон являются частью настольной среды. Настольная среда обеспечивает дополнительные функции как способы запустить программы (например, меню), апплеты (часы, переключатель рабочей области, интерфейс конфигурирования, …), и так далее. Настольная среда часто идет с комплектом приложений, которые имеют тот же стиль, но могут использоваться независимо также.
Gnome, KDE и LXDE являются всеми настольными средами. Они идут с менеджером окон (Gnome дает Вам, выбор, KDE и LXDE имеют их собственное).
С любой подобной Границе оболочкой (то есть, еще возвращаясь 70-е):
case $2 in
"" | *[!0-9]*) echo >&2 not OK; exit 1;;
*) echo OK;;
esac
От Вашего вопроса и комментариев, Вам нужно $2
быть неотрицательным целым числом:
if [[ "$2" =~ ^[0-9]+$ ]]
then
...
Отметьте также это if
записан с нижним регистром i
.
Если Ваша версия Bash не поддерживает регулярные выражения (<3.x), можно использовать grep
сделать тяжелый подъем для Вас:
if printf "%s\n" "$2" | grep -qE '^[0-9]+$'
then
...
но см. комментарий Stephane для возможного протеста этого подхода.
script.sh -d 3
в этом случае $2
будет тем, что Вы даете после -d
. Как Вы тестируете его?
– terdon♦
21.11.2013, 18:55
grep
можно было бы сказать это $'123\nblah'
верный номер.См. также expr
:
оператор.
– Stéphane Chazelas
21.11.2013, 19:26