mirror of
https://github.com/cheatsnake/backend-cheats.git
synced 2024-10-26 20:01:27 +03:00
update bash scripts cheatsheet
This commit is contained in:
parent
b7a4dc3992
commit
df045b5472
@ -99,9 +99,9 @@ echo "Массив имён: ${NAMES[0]}, ${NAMES[1]}, ${NAMES[2]}"
|
||||
> Массив имён: Alex, Mike, John
|
||||
```
|
||||
|
||||
Флаг `-p` позволяет не переносить пользовательский ввод на следующую строку
|
||||
Флаг `-p` позволяет не переносить пользовательский ввод на следующую строку.
|
||||
|
||||
Флаг `-s` позволяет скрыть вводимые символы (как это происходит при вводе пароля)
|
||||
Флаг `-s` позволяет скрыть вводимые символы (как это происходит при вводе пароля).
|
||||
```sh
|
||||
read -p "Введите ваш логин: " LOGIN
|
||||
read -sp "Введите ваш пароль: " PASSWD
|
||||
@ -198,9 +198,9 @@ fi
|
||||
> Обратите внимание, что после конструкций `if` и `elif` всегда следует строчка с ключевым словом `then` <br>
|
||||
> Так же не забывайте отделять условия пробелами внутри фигурных скобок -> `[ condition ]`
|
||||
|
||||
## Операторы для условий
|
||||
## Операторы условий
|
||||
|
||||
Для цифр и строк могут использоваться разные операторы сравнения. Полные их списки с примерами приведены в таблицах ниже
|
||||
Для цифр и строк могут использоваться разные операторы сравнения. Полные их списки с примерами приведены в таблицах ниже.
|
||||
> Обратите внимания, что разные операторы используются с определенными скобками
|
||||
|
||||
### Операторы сравнения для чисел
|
||||
@ -230,7 +230,7 @@ fi
|
||||
| -z | проверка пустая ли строка | if [ -z $str ] |
|
||||
| -n | проверка есть ли в строке хоть один символ | if [ -n $str ] |
|
||||
|
||||
Так же существуют операторы для проверки различных условий над файлами
|
||||
Так же существуют операторы для проверки различных условий над файлами.
|
||||
|
||||
### Операторы для проверки файлов
|
||||
|
||||
@ -243,3 +243,60 @@ fi
|
||||
| -r | проверяет, доступен ли файл для чтения | if [ -r $file ] |
|
||||
| -w | проверяет, доступен ли файл для записи | if [ -w $file ] |
|
||||
| -x | проверяет, является ли файл исполяемым | if [ -x $file ] |
|
||||
|
||||
## Логические операторы
|
||||
|
||||
Условия с оператором "И" возвращают истину только в том случае, когда все условия истины.
|
||||
> Существует несколько вариантов написания условий с логическими операторами
|
||||
|
||||
```sh
|
||||
if [ $age -ge 18 ] && [ $age -le ]
|
||||
```
|
||||
```sh
|
||||
if [ $age -ge 18 -a $age -le ]
|
||||
```
|
||||
```sh
|
||||
if [[ $age -ge 18 && $age -le ]]
|
||||
```
|
||||
|
||||
Условия с оператором "ИЛИ" возвращают истину в том случае, когда хотя бы одно условие истинно.
|
||||
|
||||
```sh
|
||||
if [ -r $file ] || [ -w $file ]
|
||||
```
|
||||
```sh
|
||||
if [ -r $file -o -w $file ]
|
||||
```
|
||||
```sh
|
||||
if [[ -r $file || -w $file ]]
|
||||
```
|
||||
|
||||
## Арифметические операторы
|
||||
|
||||
Предназначены для выполнения операций над числами.
|
||||
|
||||
```bash
|
||||
num1=10
|
||||
num2=5
|
||||
|
||||
# Сложение
|
||||
echo $((num1 + num2)) # 15
|
||||
echo $(expr $num1 + $num2) # 15
|
||||
|
||||
# Вычитание
|
||||
echo $((num1 - num2)) # 5
|
||||
echo $(expr $num1 - $num2) # 5
|
||||
|
||||
# Умножение
|
||||
echo $((num1 * num2)) # 50
|
||||
echo $(expr $num1 \* $num2) # 50
|
||||
|
||||
# Деление
|
||||
echo $((num1 / num2)) # 2
|
||||
echo $(expr $num1 / $num2) # 2
|
||||
|
||||
# Остаток от деления
|
||||
echo $((num1 % num2)) # 0
|
||||
echo $(expr $num1 % $num2) # 0
|
||||
```
|
||||
> Обратите внимание, что при использовании умножения с ключевым словом `expr` необходимо использовать косую черт.
|
Loading…
Reference in New Issue
Block a user