Инструменты пользователя

Инструменты сайта


cycle_bash

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
cycle_bash [2015/09/17 10:48]
sander
cycle_bash [2015/09/21 07:54] (текущий)
sander
Строка 1: Строка 1:
 +====== Циклы и переменные в bash ======
 +**1. FOR**
 +<​code>​
 +for i in список слов
 +do
 +тело цикла, $i устанавливается в следующий элемент списка
 +done
 +</​code>​
 +<​code>​
 +for i (Подразумевается список всех аргументов командного файла, т. е. $*)
 +do
 +тело цикла, $i устанавливается в следующий аргумент
 +done
 +</​code>​
  
 +//Пр. выводим содержимое текущей папки//​ <​code>​for i in * ;do echo $i ; done</​code>​\\
 +**2.WHILE**
 +<​code>​
 +while команда
 +do
 +тело цикла выполняется,​ пока команда возвращает true
 +done
 +</​code>​
 +//Пр. прибавляет 1 к числу бесконечно.//​ <​code>​s=1;​while [ "​1"​ -gt "​0"​ ];do ((s+=1)); echo ${s};​done</​code>​
 +**3.UNTIL**
 +<​code>​
 +until команда
 +do
 +тело цикла выполняется,​ пока команда возвращает false
 +done
 +</​code>​
 +//Пр. прибавляет 1 к числу бесконечно.//<​code>​s=1;​until [ "​0"​ -gt "​1"​ ];do ((s+=1)); echo ${s};​done</​code>​
 +
 +<​code>​
 +#!/bin/bash
 +k=1
 +echo "Я цикл While"
 +while [ "​$k"​ -lt "​4"​ ]
 +do
 +sleep 1
 +echo "Я здесь ${k} сек."​
 +((k+=1))
 +done
 +echo "​Пока!"​
 +
 +k=1
 +echo "Я цикл Until"
 +until [ "​$k"​ -gt "​3"​ ]
 +do
 +sleep 1
 +echo "Я здесь ${k} сек."​
 +((k+=1))
 +done
 +echo "​Пока!"​
 +
 +echo "Я цикл For"
 +for k in `seq 3`
 +do
 +sleep 1
 +echo "Я здесь ${k} сек."​
 +done
 +echo "​Пока!"​
 +</​code>​
 +
 +**4. CASE**
 +<​code>​
 +case i in 
 +    1) echo"​1"​
 +    2) echo"​2"​
 +    3) echo"​3"​
 +    *) echo"​something else"
 +esac
 +</​code>​
 +
 +**5. Переменные**
 +| Переменная | Значение | 
 +| $var | значение var; если var не определена,​ то ничего | 
 +| ${var} | аналогично;​ удобно использовать,​ если за именем переменной следует буквенно-цифровое выражение | 
 +| ${var-thing} | значение var, если она определена;​ в противном случае thing; $var не изменяется |
 +| ${var=thing} | значение var, если она определена;​ в противном случае thing, $var устанавливается в thing |
 +| ${var?​message} | значение var, если она определена. Иначе вывести message и выйти из оболочки. Если сообщение пусто, вывести:​ var: parameter not set |
 +| ${var+thing} | thing, если var определена,​ иначе ничего | 
cycle_bash.txt · Последние изменения: 2015/09/21 07:54 — sander