Bash команди и Bash програмиране - Урок 6

Всеки bash скрипт трябва да започне с това въведение. Това въведение дефинира обвивката, с която трябва да се изпълни скриптът. Името, включително пътят, също е разрешено там за всяка друга желана обвивка, при условие че това трябва да се използва. Често се използва и #!/Bin/sh, за да може програмата да се използва и на компютър, на който напр. черупката sh работи. Има и връзка към/bin/bash под Linux/bin/sh. Следователно скрипт с #!/Bin/sh може да бъде изпълнен и на всеки компютър с Linux. Предпочитам #!/Bin/bash, тъй като от една страна черупката bash и sh не са 100% съвместими, а от друга страна вероятността скриптът да работи на компютър, който не е под Linux, е много ниска.

bash

Точката с точка и запетая се използва за отделяне на команди. Ако въведете следните команди в текстовата конзола

1 за връщане. Аз обаче не съм наясно с тях. Все още не съм намерил източник за това. След това може да се наложи да се определи експериментално.

Обикновено тази функция се използва за оценка на грешки. В следващата глава "Командният тест" това ще бъде използвано на практика.

Тестовата команда се използва за проверка на типовете файлове или съществуването на файлове и за сравняване на стойности. Обаждането се осъществява с

където сравнението съдържа теста или сравнението. Резултатният тест връща 0 за true и 1 за false. Връщаната стойност се генерира с помощта на собствената променлива на черупката $? решителен.

Има сравнения на файлове (файл), символни низове (низ) и цели числа (цяло число). Целите числа са цели числа, т.е.без десетични знаци!

сравнение Обяснение
STRING1 == STRING2 string1 и string2 са еднакви
STRING1! = STRING2 string1 и string2 не са еднакви
INTEGER1 -eq INTEGER2 Integer-Number1 е същото като Integer-Number2
INTEGER1 -gt INTEGER2 Цяло число1 е по-голямо от цяло число2
INTEGER1 -lt INTEGER2 Цялото число1 е по-малко от цяло число2
-d ФАЙЛ Файлът FILE съществува и е директория
-f ФАЙЛ Файлът FILE съществува и е обикновен файл

Списъкът на сравненията не е пълен. Значително повече сравнения могат да бъдат намерени в "тест човек 1".

Можете да комбинирате няколко сравнения с логическо И (И) или логическо ИЛИ (ИЛИ). За връзката И сравненията се комбинират с -a, а за връзката ИЛИ с -o.

Сравнение1 -a Сравнение2 -a. -сравнение N         И операция И

Сравни1 -o Сравни2 -o. -o сравнение N         ИЛИ връзка

В случай на връзка AND, всички сравнения трябва да са TRUE, т.е.да върне стойността 0, така че целият израз да е TRUE. С връзката ИЛИ едно от сравненията трябва да е TRUE, така че целият израз да е TRUE.

Има 2 обозначения за командния тест. Първият

Трябва да се спазват интервалите между квадратните скоби и сравнението!

Ето няколко примера с първата нотация: