1 2 3 4 5 6 7 8 9 10 11 12 |
case $variable in pattern-1) commands ;; pattern-2) command ;; pattern-3|pattern-4|pattern-5) commands ;; *) commands ;; esac |
1 2 3 4 5 6 7 8 9 10 11 12 |
case $variable in pattern-1) commands ;; pattern-2) command ;; pattern-3|pattern-4|pattern-5) commands ;; *) commands ;; esac |
Запуск осуществляется командой
1 |
sh scriptname или bash scriptname |
Эта команда запрещает использование устройства стандартного ввода stdin в скрипт
Лучший вариант будет:
1 2 |
chmod 555 scriptname ./scriptname |
В этом варианте скрипт должен начинаться с
1 |
#!/bin/bash |
Можно поместить его в каталог /usr/local/bin , чтобы сделать его доступным для всех пользователей системы с вызовом по названию файла.
1 |
scriptname |
Синтаксис
1 2 3 4 5 6 7 8 9 |
if [ условие ] then если условие справедливо выполнить все команды до else или до fi else если условие не справедливо выполнить все команды до fi fi |
Условие
[ STRING1 == STRING2 ] Правда если выражения эквивалентны.
[ STRING1 != STRING2 ] Правда если выражения не эквивалентны.
[ STRING1 < STRING2 ] Правда если "STRING1" лексикографически упорядоченно до "STRING2".
[ STRING1 > STRING2 ] Правда если "STRING1" лексикографически упорядоченно после "STRING2".
[ ARG1 OP ARG2 ] "OP" это один из следующих параметров -eq, -ne, -lt, -le, -gt or -ge. Эти бинарные арифметические
операторы возвращают результат "правда" если
"ARG1" эквивалентен(-eq)
не эквивалентен(-ne)
меньше чем(-lt),
меньше или эквивалентен(-le)
больше чем(-gt)
больше или эквивалентно(-ge) к "ARG2".
[ ! EXPR ] правда если выражение EXPR не справедливо.
[ ( EXPR ) ] возвращает значение EXPR. Это может быть использовано для изменения приоритета операторов.
[ EXPR1 -a EXPR2 ] правда, если оба выражения EXPR1 и EXPR2 справедливы.
[ EXPR1 -o EXPR2 ] правда, если хотя бы одно выражение EXPR1 или EXPR2 справедливы. Continue reading "if — else"