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

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

В операциях сравнения:
-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/2351


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

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

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

Add your comment now

Please note: JavaScript is required to post comments.