Вы можете экспортировать функции. В файле ~/.bashrc
после определения функции добавьте export -f functionname
.
function hello() {
echo "Hello, $1!"
}
export -f hello
Тогда функция будет доступна в приглашении оболочки, а также в других сценариях, которые вы вызываете оттуда.
Обратите внимание, что нет необходимости экспортировать функции, если они не будут использоваться в дочерних процессах ("также" в предыдущем предложении). Обычно даже тогда лучше source
добавить функцию в файл, в котором она будет использоваться.
Редактировать
Скобки в условных выражениях Bash - это не скобки, а команды. Они должны иметь пространство вокруг них. Если вы хотите сгруппировать условия, используйте скобки. Вот ваша функция:
function coolness() {
if [ -z "$1" -o -z "$2" ]; then
echo "Usage: $0 [sub_package] [endpoint]";
exit 1;
fi
echo "Hi!"
}
Лучший способ написать это условие:
if [[ -z "$1" || -z "$2" ]]; then
, потому что двойные скобки предоставляют больше возможностей, чем одиночные.