You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: 06_BASH_Функции_Библиотеки.sh
+38
Original file line number
Diff line number
Diff line change
@@ -168,3 +168,41 @@ arrayfunc ${myarray[*]}
168
168
169
169
# Рекурсивные функции
170
170
##
171
+
functionfactorial() {
172
+
if [ ${1}-eq 1 ]
173
+
then
174
+
echo"1"
175
+
else
176
+
local temp=$((${1}-1))
177
+
local result=$(factorial $temp)
178
+
echo$(($result*${1}))
179
+
fi
180
+
}
181
+
read -p "Введите переменную: " value
182
+
result=$(factorial $value)
183
+
echo"Факториал от $value равен $result"
184
+
185
+
# Создание и использование библиотек
186
+
# Библиотеки спользуются для того, чтобы использовать функцию (блок кода) в другом скрипте, не используя копирование и вставку
187
+
# Для вызова библиотеки в скрипте, используется команда "source"
188
+
# У команды source есть псевдоним — оператор «точка». Для того, чтобы подключить файл в скрипте, в скрипт надо добавить конструкцию такого вида:. ./myscript
189
+
##
190
+
. ./06_BASH_Функции_Библиотеки_file
191
+
# Или так: source ./06_BASH_Функции_Библиотеки_file
192
+
result=$(addnum 10 20)
193
+
echo"Результат: $result"
194
+
195
+
### !!!
196
+
# Вызов bash-функций из командной строки
197
+
# Функцию из библиотеки можно подключить в файле .bashrc, используя команду source
198
+
# Как результат, вызывать функцию можно будет прямо из командной строки
199
+
# Отредактируйте .bashrc, добавив в него такую строку (путь к файлу библиотеки в вашей системе, естественно, будет другим):
0 commit comments