gpt4 book ai didi

linux - 从 shell 运行 fortran 代码不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:19 28 4
gpt4 key购买 nike

我想在 CentOS linux 上从 shell 脚本运行一些 fortran 代码。我这样编译了 fortran 文件:gfortran -ffixed-line-length-none -O3 -o fortran_file.x fortran_file.f 然后,在 .scr 文件中我有这行代码:timeout {$maxtime}s fortran_file.x,其中 maxtime 作为外部参数传递。该代码在另一台计算机上运行良好,所以我非常有信心我没有(主要)错误,但是当我以 ./code.scr 运行我的 .scr 代码时,我收到此错误:timeout: failed to run command 'fortran_file.x': No such file or directory,尽管 fortran_file.x 显然与我的 .scr 代码位于同一目录中。有谁知道我该如何解决这个问题?谢谢!

最佳答案

timeout 程序将只执行您给它的命令:

NAME
timeout - run a command with a time limit

SYNOPSIS
timeout [OPTION] DURATION COMMAND [ARG]...
timeout [OPTION]

DESCRIPTION
Start COMMAND, and kill it if still running after DURATION.

你的命令很简单

fortran_file.x

只有当它可以在可执行搜索路径 ($PATH) 中找到时,它才会启动您的程序。显然,事实并非如此。因此,您要么需要将工作目录添加到 $PATH

export PATH="$(pwd):$PATH"

或者,更好的是,只使用 ./ 来引用您工作目录中的程序,

timeout {$maxtime}s ./fortran_file.x

如果您的原始行在其他一些系统中工作,那一定是因为工作目录在 $PATH 中,或者是由于一些非常不典型的 shell 将命令解释为您的期望(Windows例如,这样做)。

关于linux - 从 shell 运行 fortran 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58152052/

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