mirror of
https://github.com/cheatsnake/backend-cheats.git
synced 2024-09-11 11:57:33 +03:00
added topic about local variables
This commit is contained in:
parent
9b5d586db6
commit
dc9a0e860c
@ -632,4 +632,42 @@ calc 42 17
|
||||
$ bash script.sh hello
|
||||
hello
|
||||
42 + 17 = 59
|
||||
```
|
||||
|
||||
## Локальные переменные
|
||||
|
||||
Если мы объявим какую-либо переменную, а затем объявим ещё одну с таким же именем, но уже внутри функции, то у нас произойдет перезапись:
|
||||
|
||||
```sh
|
||||
VALUE="hello"
|
||||
|
||||
test() {
|
||||
VALUE="linux"
|
||||
}
|
||||
|
||||
test
|
||||
echo $VALUE
|
||||
```
|
||||
```
|
||||
$ bash script.sh
|
||||
linux
|
||||
```
|
||||
|
||||
Чтобы предотвратить такое поведение используются ключевое слово `local` перед именем переменной, которая объявляется внутри функции:
|
||||
|
||||
```sh
|
||||
VALUE="hello"
|
||||
|
||||
test() {
|
||||
local VALUE="linux"
|
||||
echo "Переменная внутри функции: $VALUE"
|
||||
}
|
||||
|
||||
test
|
||||
echo "Глобальная переменная: $VALUE"
|
||||
```
|
||||
```
|
||||
$ bash script.sh
|
||||
Переменная внутри функции: linux
|
||||
Глобальная переменная: hello
|
||||
```
|
Loading…
Reference in New Issue
Block a user