Вот небольшой скриптик. Было бы интересно узнать. как принять значение факториала из функции fact в функцию funky, в переменную d.
Подскажите добрые люди, как правильно сделать?
Ну а вообще, так как тут присутствует операция деления, то точного значения тут не получишь(не работает с вещественными числами), по этому для вычислений лучше использовать bc.
Можно так:
во вторых команда return может возвращать значение переменной, т.е.
бред. Попробуйте
text
#!/bin/bash
foo()
{
a=2
# return $a
}
OO()
{
foo
echo $a
}
OO
В действительности, return N приводит к выходу из функции, а код N попадает в переменную "статус завершения", доступную через $? По стандарту данный статус является истинной, если =0, иначе ложью. Программисту доступны статусы от 64 до 127 включительно (остальные зарезервированы системой).
Тогда всех слакобилдописателей нужно записать в быдлокодеры:
не нужно. Нужно головой думать иногда. Что может сделать вызывающий скрипт, если Slackbuild не смог собрать программу? Не каждый администратор способен распарсить сообщение об ошибке компилятора, не говоря уже о скрипте. Единственный выход - вывалится хоть с какой-нибудь ошибкой. Например 1 - какая-то минорная беда.
А по уму, в таких местах надо писать просто exit без параметра, ошибка была в make, вот пусть её код и возвращается, а не затирается этой единичкой. Но это в общем случае.