在我的Fortran程序中,我想调用系统来运行我的代码(使用别名asv20r3)。我这样做:
call system ("asv20r3 " //filename)
但我收到以下消息:
sh: asv20r3: command not found
是否有必要定义更多内容以使系统理解我想通过别名asv20r3执行代码?
谢谢!
答案 0 :(得分:1)
以下FORTRAN90计划可以解答您的所有问题:
program Test
print*, 'Printing environment variables : '
call system("set")
print*, 'Printing environment aliases : '
call system("alias")
end program Test
程序的输出本身就说明了:环境变量是继承的;别名不是。
您可以选择依赖环境变量的内容(使用call get_environment_variable(...)
),也可以像其他人建议的那样对路径和/或命令进行硬编码。
答案 1 :(得分:0)
您可能需要在系统调用中提供asv20r3的路径
答案 2 :(得分:0)
您的程序asv20r3需要位于系统的$ PATH中。
如果它与运行主程序的目录位于同一目录中,则必须告诉系统预先挂起“./”,例如“./asv20r3”。