---
# System prepended metadata

title: L5. Bash Scripting. Part 5

---

# L5. Bash Scripting. Part 5

## Linux signals



| Num | Name    |                                      Job                                       |
| --- | ------- |:------------------------------------------------------------------------------:|
| 1   | SIGHUP  |                               Закрытие терминала                               |
| 2   | SIGINT  |         Сигнал остановки процесса пользователем с терминала (CTRL + C)         |
| 3   | SIGQUIT | Сигнал остановки процесса пользователем с терминала (CTRL + \) с дампом памяти |
| 9   | SIGKILL |                        Безусловное завершение процесса                         |
| 15  | SIGTERM |                       Сигнал запроса завершения процесса                       |
| 17  | SIGSTOP |  Принудительная приостановка выполнения процесса, но не завершение его работы  |
| 18  | SIGSTP  |     Приостановка процесса с терминала (CTRL + Z), но не завершение работы      |
| 19  | SIGCONT   |   Продолжение выполнения ранее остановленного процесс  |

```bash=
kill processID
```

---

## Running Linux Bash scripts in background mode
```bash=
#!/bin/bash

total=1
while [ $total -le 3 ]; do
	sleep 2
	total=$(($total + 1))
done
```
```bash=
$ ./myscipt &
jobs
bg
fg 1
```

---

## Functions
```bash=
functionName() {

}
```
```bash=
#!/bin/bash

myfunc() {
	echo "Using functions"
}
total=1
while [ $total -le 3 ]; do
	myfunc
	total=$(($total + 1))
done
echo "Loop finished"
myfunc
echo "End of the script"
```

#### return command
```bash=
#!/bin/bash

myfunc() {
	read -p "Enter a value: " value
	echo "adding value"
	return $(($value + 10))
}
myfunc
echo "The new value is $?"
```

#### Function output
```bash=
#!/bin/bash

myfunc() {
	read -p "Enter a value: " value
	echo $(($value + 10))
}
result=$(myfunc)
echo "The value is $result"
```

---

## Variables
* Global
* Local

#### Global
```bash=
#!/bin/bash

myfunc() {
	input=$(($input + 10))
}
read -p "Enter a number: " input
myfunc
echo "The new value is: $input"
```

#### Local
```bash=
#!/bin/bash

myfunc() {
	local tmp=$(($val + 10))
	echo "The Temp from inside function is $tmp"
}
tmp=4
myfunc
echo "The temp from outside is $tmp"
```