gpt4 book ai didi

bash - (standard_in)1 : syntax error in bash script

转载 作者:行者123 更新时间:2023-12-03 08:04:33 31 4
gpt4 key购买 nike

我正在尝试生成一些准随机数以输入蒙特卡洛模拟。我正在使用bash。我似乎遇到了语法错误,现在我将范围缩小到了这段代码。

randno4=($RANDOM % 100001)
upper_limit4=$(echo "scale=10; 1*75.3689"|bc)
lower_limit4=$(echo "scale=10; 1*75.1689"|bc)
range4=$(echo "scale=10; $upper_limit4-$lower_limit4"|bc)
t_twall=`echo "scale=10; ${lower_limit4}+${range4}*${randno3}/100001" |bc`
echo "$t_twall"

有谁知道为什么我下面的输出而不是75.3689和75.1689之间的值,因为那是我所期望的?
(standard_in) 1: syntax error

最佳答案

第一行应如下所示:

randno4=$((RANDOM % 100001))
(( ))是bash算术运算法,使用领先的 $替换值: $(( ))
当你写
randno4=( )

您尝试使用错误的语法为算术表达式提供ARRAY。

参见 http://wiki.bash-hackers.org/syntax/arith_expr

最后,就像 Etan Reisner所说,您还可以在未定义的t_twall分配行中使用$ randno3

关于bash - (standard_in)1 : syntax error in bash script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27134988/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com