Является ли это правильным синтаксисом для параметризованных функций?Использование функций в bash
#!/bin/bash
twoPow()
{
prod=1
for((i=0;i<$1;i++));
do
prod=$prod*2
done
return prod
}
echo "Enter a number"
read num
echo `twoPow $num`
Выход:
Баш sample.sh
Введите номер
sample.sh: линия 10: возвращение: прод: числовой аргумент требуется
Часть 2: Я удалил возврат, но что мне делать, если я хочу запускать несколько раз и хранить результаты, как показано ниже. Как я могу сделать эту работу?
#!/bin/bash
tp1=1
tp2=1
twoPow()
{
for((i=0;i<$1;i++));
do
$2=$(($prod*2))
done
}
twoPow 3 tp1
twoPow 2 tp2
echo $tp1+$tp2
изменение возврата продукта для эха $ prod и повторной попытки. ссылка: http://stackoverflow.com/questions/8742783/returning-value-from-called-function-in-shell-script –