You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS下Shell脚本运行Fortran可执行文件提示找不到文件求助

解决CentOS脚本运行时找不到Fortran可执行文件的问题

这个问题我之前也碰到过,本质是系统查找可执行文件的路径规则在搞鬼——当你在脚本里直接写fortran_file.x时,系统会去$PATH环境变量定义的目录列表里找这个文件,但默认情况下,当前工作目录(.)并不在$PATH里,所以哪怕文件和脚本在同一目录,系统也认不出来。

下面给你几个靠谱的解决方法,按推荐程度排序:

1. 使用相对路径调用(最简单直接)

把脚本里的命令改成明确指定当前目录的相对路径:

timeout ${maxtime}s ./fortran_file.x

./告诉系统“就在当前目录找这个可执行文件”,能快速解决问题。

2. 用脚本所在目录的绝对路径调用(最健壮)

如果之后你可能会在其他目录运行这个脚本,上面的方法就失效了。这时候可以先获取脚本自身所在的目录,再用这个路径去调用可执行文件:

# 获取脚本所在的绝对路径
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
# 调用同一目录下的可执行文件
timeout ${maxtime}s "$SCRIPT_DIR/fortran_file.x"

这样不管你在系统哪个位置运行脚本,都能精准找到目标文件。

3. 临时把当前目录加入PATH(不推荐,有安全风险)

在脚本开头添加一行,把当前目录临时加入系统的可执行文件搜索路径:

export PATH="$PATH:."
timeout ${maxtime}s fortran_file.x

⚠️ 注意:这种方法有安全隐患——如果当前目录存在和系统命令同名的恶意脚本,可能会被误执行,所以只在测试环境临时用用就行。

额外检查点

别忘了确认fortran_file.x有执行权限,编译后如果权限不够也会报类似错误:

chmod +x fortran_file.x

内容的提问来源于stack exchange,提问作者JohnDoe122

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:05:05