Fish Shell:
Організація коду у функції
Як це зробити:
У Fish ви пишете функцію за допомогою ключового слова function
, даєте їй назву і закінчуєте end
. Ось простий приклад:
function hello
echo "Hello, World!"
end
hello
Вивід:
Hello, World!
Тепер зробімо так, щоб вона вітала користувача:
function greet
set user (whoami)
echo "Hey there, $user!"
end
greet
Вивід:
Hey there, ваш_логін!
Щоб зберегти її для наступних сесій, використовуйте funcsave greet
.
Поглиблено
Функції у Fish Shell схожі на міні-скрипти — ви можете додати туди майже все. Історично концепція функцій у скриптінгу командної оболонки зберегла безліч годин на повторне набирання та відлагодження. На відміну від мов програмування, як-от Python, функції командної оболонки більш про зручність, ніж про структуру.
Деякі оболонки, як-от Bash, використовують function
або просто фігурні дужки. Fish тримається за function ... end
— чітко та зрозуміло. Усередині функцій Fish ви отримуєте всі фішки: параметри, локальні змінні з set -l
, і ви навіть можете визначити функцію всередині іншої функції.
Вам не знадобиться значення return
, оскільки Fish не акцентує на цьому; виходом вашої функції є її результат. І якщо ви хочете мати постійні функції, доступні для майбутніх сесій, пам’ятайте про funcsave
.
Дивіться також
- Навчальний посібник по функціям у fish: https://fishshell.com/docs/current/tutorial.html#tut_functions