bash中的第n个根

bash中的第n个根,bash,shell,scripting,Bash,Shell,Scripting,我知道在bash中,我可以用如下方法得到一个数字的平方根: sqrt ( $aux )" | bc 但是,我可以在bash脚本中获取浮点数的第n个根吗?您可以使用awk并让它从argv读取参数 $ awk 'BEGIN { print (ARGV[1] ** (1.0 / ARGV[2])) }' 4 5 1.31951 例如,这将打印4的第5个根 这里还有很多其他选项您可以使用awk并让它从argv读取参数 $ awk 'BEGIN { print (ARGV[1] ** (1.0 / A

我知道在bash中,我可以用如下方法得到一个数字的平方根:

sqrt ( $aux )" | bc

但是,我可以在bash脚本中获取浮点数的第n个根吗?

您可以使用
awk
并让它从argv读取参数

$ awk 'BEGIN { print (ARGV[1] ** (1.0 / ARGV[2])) }' 4 5
1.31951
例如,这将打印4的第5个根


这里还有很多其他选项

您可以使用
awk
并让它从argv读取参数

$ awk 'BEGIN { print (ARGV[1] ** (1.0 / ARGV[2])) }' 4 5
1.31951
例如,这将打印4的第5个根


这里还有很多其他选项

在数学中,数字x的第n个根可以写成:

N√x=x(1/n)=e(lnx)/n 不幸的是,
bc
只允许整数指数,因此不能使用
x^(1/n)
,因此需要使用第二种形式,例如

echo "e( l(4)/5 )" | bc -l
是4的第五个根

1.31950791077289425936
或者只需使用perl和
x**1/n

perl -E 'say 4**(1/5)' #parentheses are needed
# 1.31950791077289

在数学中,数字x的第n个根可以写成:

N√x=x(1/n)=e(lnx)/n 不幸的是,
bc
只允许整数指数,因此不能使用
x^(1/n)
,因此需要使用第二种形式,例如

echo "e( l(4)/5 )" | bc -l
是4的第五个根

1.31950791077289425936
或者只需使用perl和
x**1/n

perl -E 'say 4**(1/5)' #parentheses are needed
# 1.31950791077289

非常感谢,非常感谢。