这是参数化函数的正确语法吗?在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`
输出:
的bash sample.sh
输入一个数字
sample.sh:线10:返回:PROD:数值参数需要
第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并重新尝试。 REF:http://stackoverflow.com/questions/8742783/returning-value-from-called-function-in-shell-script –