shell gfortran:致命错误:no输入文件编译终止

lp0sw83n  于 2022-12-27  发布在  Shell
关注(0)|答案(2)|浏览(142)

我最近开始在Mac OS X 10.6.8上使用gfortran进行Fortran编程。我编写了以下简单的.f90程序:
sayhi.f90

subroutine sayhi()
  implicit none
  ! Display output to screen
  print*, 'Hello World'
end subroutine sayhi

main.f90

program main
  implicit none
  call sayhi()
end program

当我在"终端"中键入以下命令时,程序按预期编译:

gfortran sayhi.f90 main.f90 -o helloworld.out

但是,当我尝试使用bash脚本helloworld.sh时:

#!/bin/bash

# Set your compiler (ifort, gfortran, or g95)
# Note: no space before equal sign
F90= gfortran

# Clear old files
rm *.o

# Compile and link (note: variable is used via a $ sign)
$F90 sayhi.f90 main.f90 -o helloworld.out

并键入终端

bash ./helloworld.sh

将返回以下错误:

gfortran: fatal error: no input files
compilation terminated.
rm: *.o: No such file or directory
./helloworld.sh: line 11: sayhi.f90: command not found

我确信gfortran已经安装好了,因为直接在终端中输入命令可以正常工作,而且上面提到的所有.f90.sh文件都在同一个目录中,这就是我当前的工作目录。即使我不使用变量F90,而是直接在shell文件中使用gfortran命令,也会出现同样的no input files问题。
有人能帮我找出问题所在吗?非常感谢!

6rqinv9w

6rqinv9w1#

赋值变量时,不能在=符号周围添加空格。

F90= gfortran

应该是

F90=gfortran
egmofgnx

egmofgnx2#

变更

# Note: no space before equal sign
F90= gfortran

# Note: no space before OR AFTER the equal sign
F90=gfortran

相关问题