Програмиране в bash - част 2

Втора част от това мини-урок програмиране в Тряскам, където се учим да използваме ciclos и други инструменти, които ще ни помогнат да подобрим функционалностите на нашите скриптове.

Ако е условно

Функцията на If е да приложи филтър и да извърши операция или задача за всеки тип прилаган филтър. Неговата структура е следната:

Ако [състояние]; след това elif команди [условие]; след това команди else; команди fi

Пример е показан до цикъла For в съответния му раздел.

цикли

1. While: Този цикъл ще изпълни всички команди, посочени между do и done, стига условието да е вярно. Ако искате да предадете оператори за сравнение, изразът трябва да бъде ограден в квадратни скоби.

докато CONDITION / COMMAND изпълняват команди

Пример: таблица за умножение на число

#! / bin / bash X = 1 echo "Въведете число и натиснете ENTER" прочетете M # Цикълът контролира, че X е по-малко или равно на 10, докато [$ X –le 10] do #In R съхраняваме умножението на X по MR = $ [X * M] # Това умножение се отпечатва на ехото на екрана "$ M * $ X = $ R" # С let увеличаваме стойността на X с 1 единица, нека X = $ X + 1 готово

2. За: съхранява списък от елементи в променлива, която ще се използва за извършване на определени операции с всеки цикъл.

за VARIABLE в ELEMENTS се правят команди

Пример: програма, която копира файл от една папка в друга, заменяйки стар файл.

# / bin / bash # Установяваме директории с източник и дестинация ORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents # Позиционираме се в cd източника $ ORIGIN # От всички файлове искаме само този, който е # извикайте FILE за FILE в * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f ни филтрира редовни файлове, тъй като директориите # нищо добро за нас. –Не филтрира # файла „по-нови“ от тези #, намерени в целевата папка, ако [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; след това ехо "Копиране на $ FILE ..." # копираме файла с cp cp $ FILE $ ARCH-DESTINATION fi готово #We cd за изход от папката cd

Друг пример: скрипт, при който потребителят трябва да отгатне произволно число, генерирано от компютъра.

# / bin / bash # Случайно число се генерира от 1 до 10, # се записва в СЛУЧАЙНА СЛУЧАЙНА = $ [$ СЛУЧАЙНА% 10 + 1], докато [1] do echo –n "Въведете число:" прочетете NUM # Сравнете дали избраният от потребителя номер е #equal to RANDOM; не забравяйте да използвате $ за оценка на # стойностите на променливите, а не имената им, ако [“$ NUM –eq“ $ RANDOM ”]; след това ехо "Разбрахте добре!" #break позволява прекратяване на цикъла по време на почивка # Ако числото е по-малко от СЛУЧАЙНО elif [„$ NUM –gt“ $ RANDOM “]; след това ехо "По-малко е" "Ако не, то е по-голямо от СЛУЧАЙНО, друго ехо" ИЗЛОЖЕН Е ПО-голямо "fi готово

3. Until: доста подобен по структура на While, с изключение на това, че кодът винаги се изпълнява, докато условието е оценено отрицателно, т.е. програмата продължава да се изпълнява „докато условието не се случи“

докато CONDITION / COMMAND правят команди

Пример: отпечатайте числата 10-20 в низходящ ред

#! / bin / bash CONT = 20 # Докато броячът е по-малък от 10 (-lt, „по-нисък # от”), кодът се изпълнява до [$ CONT -lt 10]; do echo "COUNTER $ CONT" #A CONT се изважда от единица нека CONT- = 1 готово

4. Select: Този последен цикъл е специален случай, тъй като обикновено се използва за бързо създаване на менюта. Работи подобно на цикъла For.

изберете VARIABLE в СПИСЪК на изпълнените команди

Пример: дайте на потребителя възможност да продължи или да прекрати скрипта.

#! / bin / bash #item е променлива, която отговаря на това, което # потребителят избере, Продължи и Завърши са # опциите, достъпни за него, въпреки че могат да се добавят други опции # още изберете елемент в Продължи Завърши направете # Ако потребителят избере приключете програмата, след което с почивка излизаме от цикъла. ако [$ item = "Finish"]; след това прекъснете fi готово
Благодаря ти Хуан Карлос Ортис!

Добавяне като предпочитан източник в Google