Сравнение linux по числу

7.3. Операции сравнения

сравнение целых чисел

if [ «$a» -eq «$b» ]

if [ «$a» -ne «$b» ]

if [ «$a» -gt «$b» ]

больше или равно

if [ «$a» -ge «$b» ]

if [ «$a» -lt «$b» ]

меньше или равно

if [ «$a» -le «$b» ]

меньше или равно (внутри двойных круглых скобок)

больше (внутри двойных круглых скобок)

больше или равно (внутри двойных круглых скобок)

сравнение строк

if [ «$a» = «$b» ]

if [ «$a» == «$b» ]

if [ «$a» != «$b» ]

Этот оператор используется при поиске по шаблону внутри [[ . ]].

меньше, в смысле величины ASCII-кодов

if [[ «$a» if [ «$a» \ » необходимо экранировать внутри [ ].

больше, в смысле величины ASCII-кодов

if [[ «$a» > «$b» ]]

if [ «$a» \> «$b» ]

Обратите внимание! Символ «>» необходимо экранировать внутри [ ].

См. Пример 25-6 относительно применения этого оператора сравнения.

строка «пустая» , т.е. имеет нулевую длину

строка не «пустая» .

Оператор -n требует, чтобы строка была заключена в кавычки внутри квадратных скобок. Как правило, проверка строк, не заключенных в кавычки, оператором ! -z, или просто указание строки без кавычек внутри квадратных скобок (см. Пример 7-6), проходит нормально, однако это небезопасная, с точки зрения отказоустойчивости, практика. Всегда заключайте проверяемую строку в кавычки. [1]

Пример 7-5. Операции сравнения

Пример 7-6. Проверка — является ли строка пустой

Пример 7-7. zmost

построение сложных условий проверки

логическое И (and)

exp1 -a exp2 возвращает true, если оба выражения, и exp1, и exp2 истинны.

логическое ИЛИ (or)

exp1 -o exp2 возвращает true, если хотябы одно из выражений, exp1 или exp2 истинно.

Они похожи на операторы Bash && и ||, употребляемые в двойных квадратных скобках.

Операторы -o и -a употребляются совместно с командой test или внутри одинарных квадратных скобок.

Чтобы увидеть эти операторы в действии, смотрите Пример 8-3 и Пример 25-11.

Источник

Операторы сравнения в UNIX shell

Статья представляет из себя шпаргалку по операторам сравнения в системах на базе UNIX. Применимо к основным командным интерпретаторам — sh (Bourne Shell), bash (Bourne Again Shell), csh, tcsh и некоторым другим.

Сравнение чисел

Оператор Описание Пример
-eq [ $x -eq $y ] Равно.
Для результат True необходимо, чтобы x был равен y.
[ 1 -eq 2 ] — False
[ 3 -eq 3 ] — True
-ne [ $x -ne $y ] Не равно.
Оператор обратный -eq.
[ 1 -ne 2 ] — True
[ 3 -ne 3 ] — False
-gt [ $x -gt $y ] Больше.
То есть проверяет больше ли x чем y.
[ 1 -gt 2 ] — False
[ 3 -gt 3 ] — False
[ 5 -gt 4 ] — True
-lt [ $x -lt $y ] Меньше.
Проверяет, что число в левой части (x) меньше числа в правой (y)
[ 1 -lt 2 ] — True
[ 3 -lt 3 ] — False
[ 5 -lt 4 ] — False
-ge [ $x -ge $y ] Больше или равно. [ 1 -ge 2 ] — False
[ 3 -ge 3 ] — True
[ 5 -ge 4 ] — True
-le [ $x -le $y ] Меньше или равно. [ 1 -le 2 ] — True
[ 3 -le 3 ] — True
[ 5 -le 4 ] — False

Пример использования в IF

if [ $x -eq $y ]
then
echo ‘true’
else
echo ‘false’
fi

Сравнение строк

Оператор Описание Пример
= [ «$a» = «$b» ] Равно.
То есть строка a равна строке b.
[ ‘linux’ = ‘windows’ ] — False
[ ‘unix’ = ‘unix’ ] — True
!= [ «$a» != «$b» ] Не равно.
Оператор обратный =.
[ ‘linux’ != ‘windows’ ] — True
[ ‘unix’ != ‘unix’ ] — False
=

$b ]] Содержит.
То есть в строке a есть b.
Обратите внимание, что для данного оператора используются двойные квадратные скобки. [[ ‘linux’ =

‘windows’ ]] — False
[[ ‘unix’ =

‘ni’ ]] — True -z [ -z $b ] Проверка на нулевой размер.
Оператор проверяет, является ли строка b с нулевым размером. [ -z ‘linux’ ] — False
[ -z » ] — True -n [ -n $b ] Проверка на ненулевой размер.
Оператор обратный -z. [ -n ‘linux’ ] — True
[ -n » ] — False [ $b ] Проверка на пустоту.
Оператор проверяет, является ли строка b не пустой. [ ‘linux’ ] — True
[ » ] — False -f [ $file ] Проверка на существование файла.
Оператор проверяет, существует ли файл $file. [ -f ‘/etc/filename’ ] — True
[ -f » ] — False

Пример использования в IF

if [ «$a» = «$b» ]
then
echo ‘true’
elif [[ «$a» =

$b ]]
then
echo ‘true’
else
echo ‘false’
fi

Несколько условий (логические операторы)

Оператор Описание Пример
-a [ $x -eq $y -a $z -le $w ] Логическое И.
В данном примере, проверяет, что (x равно y) И (z меньше или равно w)
[ 1 -eq 2 -a 3 -le 4 ] — False
[ 5 -eq 5 -a 3 -le 4 ] — True
[ 5 -eq 5 -a 6 -le 4 ] — False
-o [ $x -ne $y -o $z -ge $w ] Логическое ИЛИ.
В данном примере, проверяет, что (x не равно y) ИЛИ (z больше или равно w)
[ 1 -eq 2 -o 3 -le 4 ] — True
[ 5 -eq 5 -o 3 -le 4 ] — True
[ 5 -eq 5 -o 6 -le 4 ] — True
[ 1 -eq 2 -o 6 -le 4 ] — False

Дополнительно

Как написать IF в одну строку

if [ $x -ne 0 ]; then echo 1; fi

if [ $x -ne 0 -a $y -eq 1 ]; then echo 1; else echo 2; fi

Арифметические операции

Расчет можно выполнить одним из следующих методов:

sum=$(( $sum1 + $sum2 + $sum3 ))

sum=`expr $sum1 + $sum2 + $sum3`

* где операции могут быть следующие:

  • + — сложение;
  • — вычитание;
  • * — умножение;
  • / — деление;
  • % — остаток от деления;
  • = — приравнивание.

Ошибка «Integer expression expected»

Чаще всего, возникает при попытках использовать не тот оператор, например для строки -le (который должен использоваться для числа).

Примеры неправильного использования операторов:

Источник

Как сравнивать числа в оболочке Bash в Linux

Главное меню » Операционная система Linux » Как сравнивать числа в оболочке Bash в Linux

Операторы для Баш сравнения чисел

оператор что делает пример
-eq сравнить цифры в bash для равенства, возвращает 0, если равно if [ $a -eq $b ] then
-ge сравнения чисел в bash, если больше или равно. Результат возвращает 0, если больше или равно if [ $a -ge $b ] then
-gt сравнивает числа в bash, если больше. if [ $a -gt $b ] then
-le сравнивает числа в bash, если меньше или равно. if [ $a -le $b ] then
-lt сравнивает числа в bash, если меньше. if [ $a -lt $b ] then
-ne сравнивает числа в bash, если не равно или нет. if [ $a -ne $b ] then

Примеры в деталях операторов сравнения числа в Bash:

1. оператор -eq

Этот оператор сравнивает числа, будет проверять значение равно или нет. Если оно равно, то возвращается 0.

В приведенном выше примере мы взяли числа 2 и 3 в первый раз и система возвратила значение 1, однако, когда мы приняли одинаковые значения для а и б, переменная возвращает нулевое значение.

2. оператор -ge

Этот оператор сравнивает числа и проверяет значения на больше или равно. Если значение больше или равно, то он возвращаемое значение 0.

3. оператор -gt

Этот оператор сравнения чисел будет проверять число на большее. Если значение больше, то возвращает 0.

4. оператор -le

Этот оператор сравнения числа будет проверять значения на меньше или равно. Если оно меньше или равно, то возвращаемое значение 0.

5. оператор -lt

Этот оператор сравнения числа будет проверять значения на меньшее. Если число меньше, то возвращаемое значение 0.

6. оператор -ne

Этот оператор сравнения числа будет проверять значения на не равно. Если числа не равны, то возвращаемое значение равно 0.

Источник

Сравнение дистрибутивов Linux

Для улучшения этой статьи желательно ? :
  • Проставив сноски, внести более точные указания на источники.

Эти таблицы сравнивают общую и техническую информацию о некоторых дистрибутивах операционной системы Linux. Они не включают в себя субъективные точки зрения на достоинства каждой операционной системы.

Содержание

Основные данные

Базовая общая информация о дистрибутивах: создатель/компания, лицензия/цена и т. д.

Создатель Производитель Дата первого публичного выпуска Предшественник Последняя стабильная версия Цена (доллары США) Лицензия Целевая аудитория Страна происхождения
64 Studio 64 Studio Ltd. Май 2005 Debian 2.1 Бесплатно GPL Мультимедиа Великобритания
ALT Linux ALT Linux Team Март 2001 нет
(до v3.0 2005 года Mandrake Linux)
6.0 Бесплатно (Download edition) или от 10 долларов США (Desktop edition) GPL Настольные ПК, рабочие станции, серверы, суперкомпьютер 1 , разработчики, энтузиасты, школьные компьютеры Россия
Arch Linux Джадд Винет команда разработчиков Март 2002 CRUX исключительно в идейном плане 2011.08.19 Бесплатно GPL Общее применение Канада
ASPLinux ASPLinux Март 2001 Fedora, Red Hat Linux, Black Cat Linux 14 Бесплатно, кроме сервера, или $5-$50 (для образовательных учреждений — скидка 50 %) GPL Настольные ПК, рабочие станции, серверы (платно), энтузиасты Россия
Debian Ян Мердок Проект Debian Август 1993 нет 6.0 (squeeze) Бесплатно любая свободная по DFSG Настольные ПК, рабочие станции, серверы США
Fedora Fedora Project Ноябрь 2003 Red Hat Linux 17 Бесплатно GPL Настольные ПК, рабочие станции, серверы, энтузиасты США
Gentoo Дэниэл Роббинс Gentoo Foundation, Inc. 5 Октября 1999 нет Еженедельно Бесплатно GPL Настольные ПК, рабочие станции, серверы, энтузиасты США
Knoppix Клаус Кноппер команда разработчиков ? Debian 6.4.4 Бесплатно GPL Настольные ПК, рабочие станции, пользователи Windows Германия
LinuxWizard Wizardsoft Ноябрь 2009 CentOS 2.0.11 от $50 Проприетарная Рабочие станции, серверы Россия
Mandriva Mandrakesoft S.A. Mandriva S.A. Июль 1998 Red Hat Mandriva 2010.1 Бесплатно (Download edition), $59 (Powerpack) или $69 на Flash-диске. GPL Настольные ПК, рабочие станции, серверы Франция
MEPIS Warren Woodford MEPIS LLC. Сентябрь 2003 Ubuntu SimplyMEPIS 8.0 Бесплатно (Download edition) GPL Настольные ПК, рабочие станции, серверы США
Наулинукс ЛИНУКС ИНК Октябрь 2007 Scientific Linux 6.1 Бесплатно (Download edition) GPL Настольные ПК, рабочие станции, серверы, разработчики, энтузиасты Россия
Slackware Патрик Фолькердинг команда разработчиков Июль 1993 SLS 13.37 Бесплатно GPL Настольные ПК, рабочие станции, серверы, энтузиасты США
SLED / SLES S.u.S.E. LLC Novell, Inc. Март 1994 Jurix, SuSE 11.2 $79.95 (Professional),
доступен для бесплатного скачивания
GPL Настольные ПК, рабочие станции, серверы, энтузиасты Германия
Ubuntu Canonical Ltd. Октябрь 2004 Debian 12.10 Бесплатно GPL Настольные ПК, рабочие станции, серверы Остров Мэн
Xandros Desktop OS Xandros Corp. Xandros Inc. Октябрь 2002 Corel 4.0 $40-$80 или бесплатно
(Open Circulation Edition).
Проприетарная Рабочие станции, серверы Канада
Создатель Производитель Дата первого публичного выпуска Предшественник Последняя стабильная версия Цена (доллары США) Лицензия Целевая аудитория Страна происхождения

Технические данные

Информация о технических аспектах дистрибутивов.

Ядро Linux по умолчанию Расширение безопасности Файловая система по умолчанию Поддерживаемые другие основные файловые системы Архитектурная поддержка
(первая, основная платформа)
Инструмент для обновления ОС по умолчанию Управление пакетами по умолчанию/
Инструмент для установки ПО
Главный API и язык
для приложений GUI
Главный API и язык
для текстовых /CLI приложений
Система инициализации
ALT Linux 3.0.4 SELinux ext4 BtrFS, ext2, ext3, ext4, FAT, ISO9660, JFS, NFS, NILFS, NTFS, ReiserFS, UDF, XFS x86 (i586), AMD64, ARM APT RPM, APT Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
Arch Linux 3.0 SELinux задается вручную ext2, ext3, ext4, FAT, ISO9660, JFS, NFS, NTFS, ReiserFS, UDF, XFS x86 (i686), AMD64 pacman pacman, ABS (Arch Build System) Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
Systemd
ASPLinux 2.6.17 ext3 ext2, FAT, ISO9660, JFS, NFS, NTFS, ReiserFS, UDF, XFS x86 (i586), AMD64, PPC yum RPM, pirut Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
Debian 2.6.32 SELinux ext3 ext2, FAT, ISO9660, JFS, NFS, NTFS, ReiserFS, UDF, XFS x86, 68k, Alpha, AMD64, ARM, IA-64, Mac/VME, MIPS, PA-RISC, PPC, SPARC, SPARC64, S/390 APT dpkg, Synaptic, aptitude и APT Различные (не по умолчанию) pre-LSB с C, и др.
(POSIX-совместимые)
System V-style
Fedora 2.6.38 SELinux ext4 ext2, FAT, ISO9660, NFS, ReiserFS, UDF x86 (i386), AMD64, PPC up2date, yum, APT (limited) RPM, yum Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
Upstart
Gentoo latest задается вручную ext2, ext3, ext4, FAT, ISO9660, JFS, NFS, NTFS, ReiserFS Reiser4, UDF, XFS x86, Alpha, AMD64, ARM, IA-64, MIPS, PA-RISC, PPC, PPC64, SPARC, SPARC64, SuperH, S/390, 68k emerge Portage Различные (не по умолчанию) pre-LSB c C, Python, и др.
(POSIX-совместимые)
Knoppix 2.6.37 Squashfs (англ.) ? x86 APT dpkg and APT Различные (не по умолчанию) ?
LinuxWizard 2.6.32 SELinux ext4 ext2, ext3, JFS,FAT, NTFS, ReiserFS, XFS x86 (i586) APT dpkg, APT, KPackageKit Различные (не по умолчанию) LSB с C, и др. (POSIX-совместимые) Upstart
Mandriva 2.6.33 ext3 ext2, FAT, ISO9660, JFS, NFS, NTFS, ReiserFS, UDF, XFS x86 (i586), AMD64, PPC urpmi RpmDrake, urpmi Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
MEPIS 2.6.10 ReiserFS/ext3 ext2, FAT, ISO9660, JFS, NFS, NTFS, UDF, XFS x86 (i586) APT dpkg and APT Различные (не по умолчанию) LSB with C, и др.
(POSIX-совместимые)
НауЛинукс 2.6.32 ext4 ext2, ext3, ext4, FAT, ISO9660, NFS, NTFS, OpenAFS, UDF, XFS x86 Yum RPM, Yum Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
Slackware 2.6.37.6 ReiserFS, ext4/ext3/ext2 FAT, ISO9660, JFS, NFS, NTFS, XFS, UDF x86, AMD64, ARM, S/390 Swaret, Slapt-get, many other not official pkgtool, installpkg, upgradepkg Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
openSUSE 2.6.34 AppArmor ext4/ext3 ext2, ext3, ext4 FAT, ISO9660, JFS (RO), NFS, NTFS, Reiser4, ReiserFS, UDF, XFS, BtrFS x86, AMD64, IA-64, PPC YaST2 RPM, YaST, zypper Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
Ubuntu 3.2.0.23 SELinux / AppArmor ext4 ext2, ext3, JFS,FAT, NTFS, ReiserFS, XFS x86, AMD64, PPC Ubuntu Update Manager (APT) Synaptic Package Manager, dpkg, APT, PackageKit (KPackageKit), Adept package manager для Kubuntu Различные (не по умолчанию) LSB с C, и др.
(POSIX-совместимые)
Upstart
Xandros Desktop OS 2.6.15 ReiserFS ext2, ext3, FAT, ISO 9660, JFS, NFS, NTFS, UDF, XFS, x86 Xandros Networks (APT) Xandros Networks (APT) Qt Probably same as Debian
Ядро Linux по умолчанию Расширение безопасности Файловая система по умолчанию Поддерживаемые другие основные файловые системы Архитектурная поддержка
(первая, основная платформа)
Инструмент для обновления ОС по умолчанию Управление пакетами по умолчанию/
Инструмент для установки ПО
Главный API и язык
для приложений GUI
Главный API и язык
для текстовых /CLI приложений

Особенности

Информация об особенностях дистрибутивов.

Количество пакетов Процедура инсталляции использует GUI? Проводник(и) по файловой системе по умолчанию Окружение рабочего стола по умолчанию Оконный менеджер по умолчанию Стиль GUI по умолчанию Офисный пакет по умолчанию
ALT Linux около 7700 исходных и
11300 1 /14500 бинарных
да Dolphin KDE KWin тема Plastik LibreOffice
Arch Linux около 4300 (без учета AUR) нет
(ncurses)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
ASPLinux около 1200 да Nautilus GNOME Metacity тема Polycarbonat для GNOME
тема Plastik для KDE
OpenOffice.org
Debian Более 29 000 да нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
OpenOffice.org
Fedora около 24000 да Nautilus GNOME Metacity тема ClearLooks для GNOME
тема Oxygen для KDE
LibreOffice/KOffice/GNOME Office
Gentoo около 20000 нет (установка с помощью стадий) нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
Knoppix CD: около 1000
DVD: около 2600
нет нет
(по выбору)
KDE KWin Keramik OpenOffice.org/KOffice/GNOME Office
LinuxWizard DVD: 1046 и > 3200 в репозиториях да Konqueror (KDE3), Dolphin (KDE4) KDE KWin тема Keramic (KDE3), тема Oxygen (KDE4) OpenOffice.org
Mandriva около 8500 1 да Dolphin KDE KWin тема Mandrakegalaxy, версия 2007 и позже — Ia Ora OpenOffice.org
MEPIS ? да Konqueror KDE KWin тема Polyester OpenOffice.org
НауЛинукс более 3200 пакетов и более 9000 пакетов на внешних репозиториях да Nautilus, Konqueror GNOME, KDE Metacity, KWin тема BlueCurve OpenOffice.org/KOffice/GNOME Office
Slackware ? нет
(ncurses)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
openSUSE 14650 да нет
(по выбору)
нет
(по выбору)
нет
(по выбору)
тема SuSE LibreOffice/KOffice/GNOME Office
Ubuntu 3180 по умолчанию 2 , максимально около 20000 да Nautilus GNOME/Unity Metacity тема Ambiance LibreOffice
Kubuntu 3180 по умолчанию 2 , максимально около 20000 да Konqueror (KDE3), Dolphin (KDE4) KDE KWin тема Oxygen (KDE4) OpenOffice.org/KOffice
Xandros Desktop OS ? да Xandros File Manager KDE KWin Xandros’ OpenOffice.org/KOffice
Количество пакетов Процедура инсталляции использует GUI? Проводник(и) по файловой системе по умолчанию Окружение рабочего стола по умолчанию Оконный менеджер по умолчанию Стиль GUI по умолчанию Офисный пакет по умолчанию

Замечание (1): Без библиотек и пакетов для разработчиков.
Замечание (2): По умолчанию включены главный и ограниченный репозитории. Могут быть добавлены репозиторий поддерживаемый сообществом и репозиторий проприетарного ПО.

Источник

Читайте также:  Убираем слежку windows 10
Оцените статью