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