Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
язык_командного_интерпретатора_bash [2013/05/28 11:15] 46.231.215.230 [Проверка условий test] |
язык_командного_интерпретатора_bash [2016/02/10 20:24] (текущий) |
||
---|---|---|---|
Строка 10: | Строка 10: | ||
переменные не типизированы | переменные не типизированы | ||
область видимости - весь код программы | область видимости - весь код программы | ||
- | при обращениие | + | при обращениие |
пример задания: | пример задания: | ||
- | PETM = 10 \\ | + | PERM=10 \\ |
echo $PERM\\ | echo $PERM\\ | ||
Строка 27: | Строка 27: | ||
- | MASS[0]=10 | + | MASS[0]=10\\ |
- | MASS[1]=11 | + | MASS[1]=11\\ |
- | MASS[2]=12 | + | MASS[2]=12\\ |
====== обращение к массиву ====== | ====== обращение к массиву ====== | ||
Строка 45: | Строка 45: | ||
- | MASS2=(10,11,12,13,14)\\ | + | MASS2=(10 11 12 13 14)\\ |
- | echo ${MASS2}\\ | + | echo ${MASS2[2]}\\ |
'' | '' | ||
Строка 82: | Строка 82: | ||
read[переменная] | read[переменная] | ||
- | # | + | #!/bin/bash\\ |
- | read var1 | + | read var1\\ |
- | echo "Вы ввели $var1" | + | echo "Вы ввели $var1"\\ |
Строка 155: | Строка 155: | ||
'' | '' | ||
+ | ''# | ||
+ | read A\\ | ||
+ | read B\\ | ||
+ | if [ $A -ge $B ] \\ | ||
+ | then \\ | ||
+ | echo 'A > B'\\ | ||
+ | else \\ | ||
+ | echo 'A < B'\\ | ||
+ | fi \\ | ||
+ | '' | ||
+ | для проверки на наличие файла, папки, ссылки и т.д. используются ключи: | ||
+ | -d Папка\\ | ||
+ | -e Существует (также -a)\\ | ||
+ | -f Стандартный файл\\ | ||
+ | -h Символьная ссылка (также -L)\\ | ||
+ | -p Именованный канал\\ | ||
+ | -r Доступный вам для чтенения\\ | ||
+ | -s Не пустой\\ | ||
+ | -S Сокет\\ | ||
+ | -w Доступный вам для записи\\ | ||
+ | -N Был изменен со времени последнего прочтения\\ | ||
+ | Сравнение чисел и строк: | ||
+ | Сравнение чисел происходит при помощи следующих операторов: | ||
+ | число1 -eq число2 — истина, | ||
+ | число1 -ne число2 — истина, | ||
+ | число1 -gt число2 — истина, | ||
+ | число1 -ge число2 — истина, | ||
+ | число1 -lt число2 — истина, | ||
+ | число1 -le число2 — истина, | ||
+ | | ||
+ | -n строка — истина, | ||
+ | -z строка — истина, | ||
+ | строка1 = строка2 — истина, | ||
+ | Так же в условных операторах можно использовать логическое ' | ||
+ | |||
+ | ====== Оператор выбора case ====== | ||
+ | |||
+ | для | ||
+ | |||
+ | '' | ||
+ | # | ||
+ | |||
+ | echo; echo " | ||
+ | read Keypress\\ | ||
+ | |||
+ | case " | ||
+ | [a-z] ) echo " | ||
+ | [A-Z] ) echo " | ||
+ | [0-9] ) echo " | ||
+ | * ) echo " | ||
+ | esac # Допускается указывать диапазоны символов в [квадратных скобках]\\ | ||
+ | '' | ||
+ | |||
+ | |||
+ | |||
+ | #!/bin/bash | ||
+ | '' | ||
+ | echo -e ' | ||
+ | |||
+ | read Keypress\\ | ||
+ | |||
+ | case " | ||
+ | [s] ) / | ||
+ | [r] ) / | ||
+ | [d] ) / | ||
+ | esac | ||
+ | '' | ||
+ | |||
+ | |||
+ | '' | ||
+ | # | ||
+ | |||
+ | echo -e " | ||
+ | |||
+ | read bukva\\ | ||
+ | echo -e " | ||
+ | echo "Вы ввели $bukva" | ||
+ | echo -e " | ||
+ | |||
+ | case " | ||
+ | |||
+ | a ) reboot ;;\\ | ||
+ | b ) useradd ;;\\ | ||
+ | * ) echo " | ||
+ | esac \\ | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Цикл For ====== | ||
+ | |||
+ | простой цикл | ||
+ | |||
+ | ''# | ||
+ | |||
+ | # Пример for\\ | ||
+ | |||
+ | for I in 1 2 3 4 5 6 7 8 9 10\\ | ||
+ | |||
+ | do\\ | ||
+ | |||
+ | echo " $I "\\ | ||
+ | |||
+ | touch $I.txt\\ | ||
+ | |||
+ | done\\ | ||
+ | |||
+ | exit 0\\ | ||
+ | '' | ||
+ | |||
+ | цикл для с выбором данных из файла | ||
+ | |||
+ | |||
+ | файл с данными | ||
+ | |||
+ | '' | ||
+ | roman\\ | ||
+ | alexander\\ | ||
+ | andrey\\ | ||
+ | yrii\\ | ||
+ | alexey\\ | ||
+ | '' | ||
+ | скрипт создания папок для пользователей | ||
+ | |||
+ | ''# | ||
+ | |||
+ | for I in `cat users`\\ | ||
+ | do \\ | ||
+ | mkdir $I\\ | ||
+ | done \\ | ||
+ | exit 0\\ | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | ====== Цикл While====== | ||
+ | |||
+ | |||
+ | # | ||
+ | # Primer while | ||
+ | X=1 | ||
+ | while [ $X -lt 10 ] | ||
+ | do | ||
+ | echo " | ||
+ | X=$(( $X+1 )) | ||
+ | done | ||
+ | exit 0 | ||
+ | |||
+ | ====== Оператор select ====== | ||
+ | |||
+ | |||
+ | '' | ||
+ | # | ||
+ | |||
+ | echo ' | ||
+ | |||
+ | select linux in " | ||
+ | do\\ | ||
+ | echo\\ | ||
+ | echo "Вы предпочитаете $linux." | ||
+ | echo "; | ||
+ | echo\\ | ||
+ | break # если ' | ||
+ | done\\ | ||
+ | |||
+ | exit 0\\ | ||
+ | |||
+ | '' |