Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 运行结合Fortran和Mathemtica脚本的bash脚本_Macos_Bash_Fortran_Wolfram Mathematica - Fatal编程技术网

Macos 运行结合Fortran和Mathemtica脚本的bash脚本

Macos 运行结合Fortran和Mathemtica脚本的bash脚本,macos,bash,fortran,wolfram-mathematica,Macos,Bash,Fortran,Wolfram Mathematica,我试图在Mac上运行一个bash脚本,它将Fortran程序与下面的Mathemtica脚本代码结合在一起 简而言之,它所做的是:我运行Adding_ns.m,它会创建一个名为points.dat的新文件。然后,此文件的长度$NUM将用作./pebblegame.e$NUM points.dat>pebbled.dat中的变量,在该文件上应用Fortran程序以创建pebbled.dat。然后在下一个循环中,添加_ns.m使用现有的points.dat和pebbled.dat创建新的点 #!/b

我试图在Mac上运行一个bash脚本,它将Fortran程序与下面的Mathemtica脚本代码结合在一起

简而言之,它所做的是:我运行Adding_ns.m,它会创建一个名为points.dat的新文件。然后,此文件的长度$NUM将用作./pebblegame.e$NUM points.dat>pebbled.dat中的变量,在该文件上应用Fortran程序以创建pebbled.dat。然后在下一个循环中,添加_ns.m使用现有的points.dat和pebbled.dat创建新的点

#!/bin/bash
BD='MyDirectory'

for ((i=1; i<20; i++)); do

 /Applications/Mathematica.app/Contents/MacOS/MathKernel -script Adding_ns.m

 NUM=$(grep -c "." points.dat)
 echo 'Length points is' $NUM

 ./pebblegame.e $NUM points.dat > pebbled.dat

 LEN=$(grep -c "." pebbled.dat)
 CRIT=$(echo $LEN/3072 | bc -l)
 echo 'Criterion is' $CRIT

done
exit
令人费解的是,当我手动运行代码时,我的意思是以相同的顺序在终端中键入命令,它工作正常,但当我使用For循环时,它只正确返回第一个结果,这让我确信问题出在BASH脚本上


因为最后我需要循环20000次,所以我需要自动完成

试着用bash-x运行它,看看它停在哪里。不要认为问题出在for循环上。试着用NUM=$wc-l