1. Баш-массивы
Вы должны быть знакомы со списками Python и массивами JavaScript, но знаете ли вы, что в Bash также существуют одномерные массивы?
- Массив Bash может быть определен с элементами внутри скобок
()
без пробелов между знаком=
и скобками.
array=('Ashish' 1 3 'b')
- Массив в Bash может содержать как числа, строки, так и пустыезначения.
- Длину массива можно найти с помощью следующего синтаксиса:
array_length=${#array[@]}
Значение array_length
можно вывести на экран с помощью echo $array_length
. Это выведет на 4
.
Обратите внимание, что символы
@
или*
в квадратных скобках относятся к всем элементам массива.
- Чтобы напечатать все значения в массиве, мы можем использовать следующий синтаксис:
echo ${array[*]}
or,
echo ${array[@]}
Обратите внимание, что массивы обозначаются фигурными скобками
{}
после знака$
, в отличие от других переменных.
- Значение по определенному индексу можно найти с помощью следующего синтаксиса:
echo ${array[0]}
Вышеприведенное будет выведено на Ashish
.
- Новые элементы могут быть добавлены в массив следующим образом:
array[5]='cat'
Это добавляет строку cat
к индексу 5
в массиве.
Обратите внимание, что массивы Bash имеют индекс 0.
- Можно перебирать индексы и значения элементов в массиве следующим образом:
for elem in ${!array[@]}; do echo "Element $elem is ${array[$elem]}" done
2. Хэш-таблица/словарь Bash
- Чтобы создать хеш-таблицу в Bash, состоящую из пар ключ-значение, можно использовать следующий синтаксис:
declare -A myHashTable
- Пары ключ-значение можно добавить к этому следующим образом:
myHashTable[a]='Ashish' myHashTable[b]='Bamania'
- Для перебора пар ключ-значение можно использовать следующий синтаксис:
for key in "${!myHashTable[@]}" > do > echo -n "key: $key, " > echo "value: ${myHashTable[$key]}" > done
Это выведет на:
key: a, value: Ashish key: b, value: Bamania
3. Цитаты Баша
Bash буквально интерпретирует текст, заключенный в одинарные кавычки, и ни один символ в одинарных кавычках не имеет специального значения.
Двойные кавычки используются для заключения текста подобно одинарным кавычкам и позволяют интерпретировать оболочке:
- Знак доллара (
$
) - Обратная галочка (`)
- Обратная косая черта (
\
) - Восклицательный знак (
!
)
Например, если мы определим переменную с именем variable
следующим образом:
variable=123
echo "$variable"
будет выводиться в 123
, но
echo '$variable'
будет выводиться в $variable
.
4. Заявление о случае Bash
Подобно операторам switch-case
в JavaScript, Bash также предлагает полезность для операторов case
.
Его можно использовать следующим образом:
case expression in pattern1) statement ;; pattern2) statement ;; *) pattern3) default statement ;; esac
Например:
Давайте определим переменную с именем pet
как pet='cat'
.
case $pet in cat) echo -n “Meow!” ;; dog) echo -n “Woof!” ;; *) echo -n “No sound found” ;; esac
Это выведет на Meow!
.
5. Баш-функции
Функция в Bash может быть определена как:
function_name () { commands }
or,
function function_name { commands }
Обратите внимание, что фигурные скобки должны быть отделены от тела пробелами.
Чтобы вызвать функцию, просто напишите имя функции.
Давайте определим функцию с именем print_hello
.
function print_hello { echo 'Hello!' }
Функцию можно вызвать следующим образом:
print_hello
Это выводит на Hello!
.
Это все для этой статьи!
Большое спасибо за внимание!
Если вы новичок в Python или программировании в целом, ознакомьтесь с моей новой книгой под названиемThe No Bulls**t Guide To Learning Pythonниже: