【问题标题】:Setenv in bash when I compile on Linux我在 Linux 上编译时在 bash 中设置环境
【发布时间】:2016-04-22 18:35:27
【问题描述】:

当我安装 Netcdf 时,
下面的代码是从安装指南中截取的:

setenv DIR path_to_directory/Build_WRF/LIBRARIES
setenv CC gcc
setenv CXX g++
setenv FC gfortran
setenv FCFLAGS -m64
setenv F77 gfortran
setenv FFLAGS -m64   

我正在使用 bash。

1。我试过了:

F77 = "gfortran"
export F77     

但是

-bash: F77: 找不到命令

2。当我尝试:

导出 F77=gfortran

没有用。因为我用which F77的时候,没有显示/usr/bin/gfortran

3。我也试过了:

vim ~/.bash_profile
# edit these variable in
source ~/.bash_profile    

结果:

-bash: export: `=': not a valid identifier
-bash: export: `/usr/local/pgi': not a valid identifier   

每个方法都失败了。有人可以提供一些帮助吗?

【问题讨论】:

  • “因为当我使用哪个 F77 时,它没有显示 /usr/bin/gfortran”:您通过$variablename 获得变量值,而不是variablename。所以which $F77 会起作用。
  • 设置变量的 bash 语法是 F77=gfortran,没有空格。 F77 = gfortran 调用命令 F77(它不存在),传递给它两个参数:=gfortran。同样,在导出命令中,赋值中不能有空格。

标签: linux bash environment netcdf


【解决方案1】:

which F77 查找文字命令F77。你需要做which gofortran找到gofortran命令在哪里,然后你需要export F77=/path/to/gofortran

F77 是一个应该包含文本的变量,所以你也可以通过which $F77 来查看二进制在F77变量中的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-18
    • 2019-06-08
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 2021-12-10
    相关资源
    最近更新 更多