Часто и густо мне приходится писать разнообразные скрипты, вот я и решил выложить некоторые операции сравнения, без которых почти половина скриптов работать не может.

При работе с целыми числами, мы используем буквенные символы.

В операциях сравнения:
-eq -равно
-ne -равно

ПРИМЕР:

if [ "$a" -eq "$b" ] - если переменная a равна переменной b
if [ "$a" -ne "$b" ] - если переменная a неравна переменной b

-gt -больше
-ge -больше или равно
-lt -меньше
-le -меньше или равно

ПРИМЕР:

if [ "$a" -gt "$b" ] - если переменная a больше переменной b
if [ "$a" -ge "$b" ] - если переменная a больше или равна переменной b
if [ "$a" -lt "$b" ] - если переменная a меньше переменной b
if [ "$a" -le "$b" ] - если переменная a меньше или равна переменной b

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

ПРИМЕР:

(("$a" < "$b"))
(("$a" <= "$b"))
(("$a" > "$b"))
(("$a" >= "$b"))

В Операциях сравнения строк используют используем такие символы.

= — равно
== — равно (синоним оператора =)

ПРИМЕР:

if [ "$a" = "$b" ]
if [ "$a" == "$b" ]
 
[[ $a == z* ]]    - если $a начинается с символа "z" - то true
[[ $a == "z*" ]]  - если $a равна z* - то true
 
[ $a == z* ]      - используется чаще всего в при подстановке имен файлов и разбиении на слова
[ "$a" == "z*" ]  - если $a равна z* - то true

!= — не равно (Этот оператор используется при поиске по шаблону внутри [[ … ]])
< - меньше, в смысле величины ASCII-кодов (Обратите внимание! Символ "<" необходимо экранировать внутри [ ]) > — больше, в смысле величины ASCII-кодов (Обратите внимание! Символ «>» необходимо экранировать внутри [ ])

ПРИМЕР:

if [ "$a" != "$b" ]
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]

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

Вот в принципе и всё что я часто всего использую.

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/?p=2351


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

You must be logged in to post a comment.